я иногда получить перепутались тремя способами визуализации:разница Yii между функциями визуализации
Controller::render()
Controller::renderPartial()
Controller::renderFile()
Пожалуйста, не могли бы вы объяснить. Спасибо!
я иногда получить перепутались тремя способами визуализации:разница Yii между функциями визуализации
Controller::render()
Controller::renderPartial()
Controller::renderFile()
Пожалуйста, не могли бы вы объяснить. Спасибо!
render()
обычно используются для визуализации вида, который соответствует тому, что пользователь видит как «страница» в вашем приложении. Сначала он отображает указанное вами представление, а затем отображает макет для текущего действия контроллера (если применимо), помещая результат первого рендера в макет. Затем он выполняет обработку вывода (которая в это время означает автоматическую вставку любых необходимых тегов <script>
и обновление динамического содержимого) и, наконец, выводит результат.
renderPartial()
обычно используется для визуализации «части» страницы. Основное отличие от render()
заключается в том, что этот метод делает не поместите результаты рендера в макет. По умолчанию он также не выполняет обработку вывода, но вы можете переопределить это поведение, используя параметр $processOutput
.
renderFile()
является методом низкого уровня, который делает тяжелую работу рендеринга: он извлекает переменные данные в текущей области, а затем запускает код вида. Другие два метода внутренне называют это, но вам практически не нужно называть это самим. Если вы это сделаете, имейте в виду, что вам необходимо передать путь к файлу (не путь просмотра).
Рендер Файла:
побежит методу визуализации на данный файл с рендерингом набора. Это довольно низкий уровень в Yii и только реально используется внутри или в консольных командах.
Рендер Частичное:
Это берет псевдоним данное и преобразует его в путь к файлу, используя все локальные переменные, такие как текущие контроллеры бегущих и модулей и определений псевдонимов. Тогда он в значительной степени просто использует файл рендеринга.
Рендер:
Это сочетание делают обертонов, чтобы сделать нашу жизнь проще. Он будет отображать макет на текущем активном контоллере или определенном, отображать все содержимое внутри него, обрабатывать кеширование рендеров и обрабатывать выходные данные для клиентских скриптов.
Надеюсь, что очистит его.
Я хочу обратить внимание на бит «console commands» для renderFile(). Для меня это спасательная жизнь. –
renderPartial() действительно полезен для отображения компонентов сся на странице - то есть, заголовки, виджеты и т.д.
@Paystey Awesome edit^_^Спасибо –