👁️ Vista
Vistas
Las vistas son responsables de generar la salida específica requerida para la solicitud. A menudo, esto es en forma de HTML o PHP.
La capa de visualización de Ligne es la forma en que le habla a los usuarios. La mayoría de las veces, sus vistas mostrarán (X) documentos HTML en los navegadores.
Un archivo de vista se almacena en src/views/
en una subcarpeta que lleva el nombre del controlador al que pertenece esta vista. Tiene un nombre de archivo correspondiente a su acción. Por ejemplo, el archivo de vista para la acción create()
del controlador Task
normalmente se encuentra en src/views/tasks/create.php
La capa de vistas de Ligne puede estar compuesta de varias partes diferentes. Cada parte tiene diferentes usos:
vistas: Las vistas son la parte de la página que es exclusiva de la acción que se está ejecutando.
Layout: Esto es el esqueleto de tus vistas, dentro de del directorio
template
del directorio raíz de nuestra aplicación encontrara un archivo llamadobase.php
, este te permite mantener una única estructura en todo el proyecto ya que todas las vistas se renderizan dentro de este.
Diseños/Layout
Un diseño/layout contiene un código de presentación que se ajusta a una vista. Cualquier cosa que desee ver en todas sus vistas debe colocarse en un diseño/layout.
El diseño/layout por defecto de Ligne se encuentra en template/base.php
Si desea cambiar el aspecto general de su aplicación, este es el lugar correcto para comenzar, ya que el código de vista renderizado por el controlador se coloca dentro del diseño predeterminado cuando se representa la página.
Otros archivos de diseño/layout deben colocarse en el directorio antes mencionado template
Cuando creas un diseño/layout, necesitas decirle a Ligne dónde colocar la salida de tus vistas. Para hacerlo, asegúrese de que el diseño/layout incluya un lugar para la variable $viewContent
Aquí hay un ejemplo del aspecto que podría tener un diseño predeterminado:
Assets o recursos
Los Assets o recursos son todas aquellas cosas que complementa una página web llámese a estos JavaScript, CSS, fuentes, imágenes, etc...
Ligne cuenta con una clase Assets estática que le brinda una ayuda para enlazar recursos a sus vistas;
Notese que se ha indicado dentro del método setAssets()
el directorio css y el recurso que se solicita style.css esto ayuda a la clase a saber en que lugar buscar los recursos.
Esto no se limita solo a esto ya que puede buscar en subdirectorios;
La llamada siempre debe estar acompañada del directorio raíz, si este recurso no se encuentra, el navegador es quien le dirá esto.
Las vistas y la interacción con los datos
Las vistas pueden recibir una cantidad de datos enormes, inclusive matrices. Estos datos son pasados del controlador a la vista por el método setData()
por lo que podemos pasar una consulta de las tareas que tenemos en nuestra app;
En este caso el controlador TaskController
en su método index está solicitando todas las tareas que existen en la base de datos mediante el modelo Task (El modelo se explica más adelante).
En la vista /views/Tasks/index.php
ya podremos interactuar con los datos que le hemos enviado desde el controlador;
Note que hemos usado el ciclo foreach para iterar el arreglo que hemos recibido con las tareas ya creadas. Los índices id, title, description y created_at de la matriz son los nombres de los campos de nuestra tabla tasks en la base de datos.
Funciones extras
El método render()
es capaz de renderizar varias vistas, esto puede ser útil cuando quieres tener tus vistas fragmentadas header, side, body y footer por separado, un ejemplo de esto sería lo siguiente;
Last updated