механизм шаблонов php, использующий переменную %% %% - PullRequest
0 голосов
/ 24 декабря 2009

Я просматриваю код PHP для корзины покупок Interspire, и они широко используют переменные шаблона, такие как %% GLOBAL_variables %% и %% variable %%.

Я не видел их раньше, и я пытаюсь понять, как они определены и используются. Кто-нибудь знает, какой движок шаблонов задействован и какая-либо документация по нему

спасибо

Ответы [ 2 ]

2 голосов
/ 24 декабря 2009

Я использовал %% в качестве «разделителей» для моего собственного собственного движка шаблонов. В этом нет ничего особенного, это просто символы, которые будут предотвращать любые нежелательные замены, поскольку очень маловероятно, что они будут происходить естественным путем. Некоторые движки используют {ключевое слово}, например Smarty. Например, вы можете выполнить быстрый поиск / замену на ассоциативный массив данных.

$data_replace = array('%%GLOBAL_variable%%'=>'some data', 
    '%%variable1%%'=>'different data', 
    '%%variable2%%'=>'limited time only!');
//Perform the search and replace
$output = str_replace(array_keys($data_replace), $data_replace, $template_text);
0 голосов
/ 24 декабря 2009

Как кажется, это выглядит как решение для дома.

Тем не менее, было бы довольно легко воссоздать что-то подобное, выполнив что-то вроде:

  1. Загрузить файл шаблона в строка.

  2. Получите все вхождения "%% xxx %%". (Я предполагаю, что "%%" просто ручные разделители.)

  3. Преобразование первого «%%» в «$ _», если вхождение начинается с "%% GLOBAL" или '$' в противном случае.

  4. После того, как все, что сделано, оцените результирующую строку. ( Eval )

Кроме того, было бы возможно включить переменные в объем оценки, используя extract .

Независимо от того, я бы подумал, что вы сможете подтвердить это, покопавшись в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...