2012-04-30 4 views

ответ

26

render() обычно используются для визуализации вида, который соответствует тому, что пользователь видит как «страница» в вашем приложении. Сначала он отображает указанное вами представление, а затем отображает макет для текущего действия контроллера (если применимо), помещая результат первого рендера в макет. Затем он выполняет обработку вывода (которая в это время означает автоматическую вставку любых необходимых тегов <script> и обновление динамического содержимого) и, наконец, выводит результат.

renderPartial() обычно используется для визуализации «части» страницы. Основное отличие от render() заключается в том, что этот метод делает не поместите результаты рендера в макет. По умолчанию он также не выполняет обработку вывода, но вы можете переопределить это поведение, используя параметр $processOutput.

renderFile() является методом низкого уровня, который делает тяжелую работу рендеринга: он извлекает переменные данные в текущей области, а затем запускает код вида. Другие два метода внутренне называют это, но вам практически не нужно называть это самим. Если вы это сделаете, имейте в виду, что вам необходимо передать путь к файлу (не путь просмотра).

5

Рендер Файла:

побежит методу визуализации на данный файл с рендерингом набора. Это довольно низкий уровень в Yii и только реально используется внутри или в консольных командах.

Рендер Частичное:

Это берет псевдоним данное и преобразует его в путь к файлу, используя все локальные переменные, такие как текущие контроллеры бегущих и модулей и определений псевдонимов. Тогда он в значительной степени просто использует файл рендеринга.

Рендер:

Это сочетание делают обертонов, чтобы сделать нашу жизнь проще. Он будет отображать макет на текущем активном контоллере или определенном, отображать все содержимое внутри него, обрабатывать кеширование рендеров и обрабатывать выходные данные для клиентских скриптов.

Надеюсь, что очистит его.

+0

Я хочу обратить внимание на бит «console commands» для renderFile(). Для меня это спасательная жизнь. –

2

renderPartial() действительно полезен для отображения компонентов сся на странице - то есть, заголовки, виджеты и т.д.

Смежные вопросы