Прочитайте теги php внутри не-php файла и выполните - PullRequest
2 голосов
/ 17 июля 2011

Я пытаюсь создать простой и легкий движок тем, где любой сможет легко создать свой собственный шаблон, мне удалось это сделать с помощью PHP, например, если кто-то хочет ввестилоготип, все, что им нужно сделать, это использовать: {logo} и т. д.

Расширения файлов шаблонов - '.inc' .. Моя проблема в том, что я не знаю, как разрешить пользователям выполнятьPHP-код с использованием тегов PHP (<? php?>).

Я пробовал добавить оба в мой htaccess:

AddType application/x-httpd-php .inc

Я знаю, что существуют другие механизмы шаблонов, такие как smarty,но лучше пойти куда-нибудь попроще.

Ответы [ 2 ]

2 голосов
/ 17 июля 2011

Не слишком много людей будут рады использовать шаблонизатор, который требует добавления новых обработчиков веб-сервера для его использования.

Поэтому было бы целесообразно использовать стандартное полностью поддерживаемое расширение, например .php вместо .inc или в случае, если вы действительно хотите использовать .inc просто включите файл с включенной буферизацией вывода и соберите выходные данные в переменную, подобную этой:

ob_start();
require "template.inc";
$content = ob_get_clean();

$content будет содержать все, что было внутри template.inc, так что вы можете делать все, что захотитес ним.

Мало того, но если ваш template.inc файл содержит переменные PHP, они также будут проанализированы.

1 голос
/ 17 июля 2011

Это не имеет ничего общего с правилами htaccess.Вам необходимо оценить содержимое PHP сразу после того, как вы закончили интерпретацию тегов вашего шаблона.Например:

eval( "?> $content_of_template <?php " );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...