a veces llegar en mal estado por los tres métodos de renderizado:diferencia entre las funciones de representación Yii
Controller::render()
Controller::renderPartial()
Controller::renderFile()
Por favor, ¿podría explicar. ¡Gracias!
a veces llegar en mal estado por los tres métodos de renderizado:diferencia entre las funciones de representación Yii
Controller::render()
Controller::renderPartial()
Controller::renderFile()
Por favor, ¿podría explicar. ¡Gracias!
render()
se utiliza comúnmente para hacer una vista que corresponde a lo que el usuario ve como una "página" en su aplicación. Primero representa la vista que ha especificado y luego representa el diseño de la acción del controlador actual (si corresponde), colocando el resultado del primer render en el diseño. Luego realiza el procesamiento de salida (que en este momento significa insertar automáticamente cualquier etiqueta <script>
necesaria y actualizar el contenido dinámico) y finalmente genera el resultado.
renderPartial()
se usa comúnmente para representar una "pieza" de una página. La principal diferencia de render()
es que este método no no coloca los resultados del renderizado en un diseño. De manera predeterminada, tampoco realiza el procesamiento de salida, pero puede anular este comportamiento utilizando el parámetro $processOutput
.
renderFile()
es un método de bajo nivel que hace el trabajo pesado de representación: extrae los variables de datos en el ámbito actual y luego ejecuta el código de la vista. Los otros dos métodos lo llaman internamente, pero prácticamente nunca deberías llamarlo tú mismo. Si lo hace, tenga en cuenta que debe pasar una ruta de archivo (no una ruta de vista).
Render del archivo:
se ejecutarán los métodos de representación en un fichero dado con el conjunto motor de renderizado. Este es un nivel bastante bajo dentro de Yii y solo realmente se usa internamente o en comandos de consola.
Render parcial:
Esto toma el alias dado y la convierte en una ruta de archivo usando todas las variables locales, tales como controladores y módulos de funcionamiento actuales y las definiciones de alias. Entonces, prácticamente solo usa el archivo de renderizado.
Render:
Esta es una combinación de rendir parciales para hacer nuestra vida más fácil. Hará que el diseño en el controlador activo actualmente, o el definido, rinda todo el contenido dentro de él, maneje el almacenamiento en caché de los renders y procese el resultado para los scripts del cliente.
Espero que lo aclare.
Quiero llamar la atención sobre el bit de "comandos de la consola" para renderFile(). Eso es un salvavidas para mí. –
renderPartial() es muy útil para mostrar los componentes de SSI en una página - es decir, los encabezados, pies, widgets, etc.
@Paystey Awesome edit^_^Gracias –