PHP шаблон / функция макета - PullRequest
1 голос
/ 14 января 2012

У меня есть эта функция, но это не хорошо.Это затрудняет отладку моего кода:

fun... {
    eval('?>' . str_replace(
        '{yield}',
        file_get_contents('templates/' . $template . '.phtml'),
        file_get_contents('templates/layouts/' . $layout . '.phtml')
    ));
}

Пожалуйста, дайте мне знать о лучших заменах.

Спасибо.

Ответы [ 2 ]

1 голос
/ 20 января 2012

использование буферизации вывода - лучший способ получения заполненных данных шаблона

ob_start();
include "my/template/link.phtml";
$content = ob_get_contents();
ob_end_clean();
1 голос
/ 20 января 2012
function render($template, $layout) {
    $cache = "wherever/you/put/the/cache/file/{$template}_{$layout}.phtml";

    if (!file_exists($cache)) {
        $template = file_get_contents('templates/' . $template. '.phtml');
        $layout = file_get_contents('templates/layouts/' . $layout . '.phtml');

        $output = str_replace('{yield}', $template , $layout);
        file_put_contents($cache, $output);
    } else {
        include($cache);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...