cuchilla laravel

En los tutoriales recientes, hemos pasado de instalar laravel hasta configurar controladores RESTful . En nombre de la brevedad, simplemente devolvimos datos a la pantalla cuando probamos las rutas, modelos y controladores que hemos construido. Es posible que se haya estado preguntando acerca de las vistas. Bueno, ahora estamos listos para embellecer un poco las cosas, y qué mejor manera que incorporar el motor de plantillas Blade de Laravel con Twitter Bootstrap para comenzar a construir nuestras opiniones. ¡Vamos a hacerlo!


Motor de plantilla de hoja

¡Ahora podemos comenzar a hacer algunas vistas! Recordará que en nuestro Blogposts Controller estábamos devolviendo los datos al navegador de la siguiente manera:

¡Empecemos a usar Vistas en su lugar! Cuando queremos cargar una vista, lo haremos utilizando el make()método de la ViewFachada. También queremos pasar todos los datos que necesitemos a la vista y podemos hacerlo de una de tres maneras.

En el fragmento anterior, blogposts/indexse refiere a /app/views/blogposts/indexla estructura de su directorio.


Páginas maestras

Empezaremos creando una página maestra. La página maestra contiene cualquier HTML repetitivo que no queremos tener que volver a crear en todas las vistas individuales. Incluiremos jQuery y Twitter Bootstrap en esta página maestra para que podamos tener acceso a todos sus grandes beneficios. Este archivo residirá en el /app/views/layoutsdirectorio.

¡Frio! En el fragmento de arriba, notarás dos cosas que pueden parecer un poco extrañas.

{{ link_to('/', 'Larablog') }}
Las {{y}} indican secciones que se repetirán en la pantalla. Esta línea también hace uso de la link_tofunción para que podamos crear un enlace de inicio, por así decirlo, en nuestra página de blog que enlaza con la raíz. La link_tofunción toma dos argumentos, la ruta a la que vinculará y el texto de anclaje.

@yield('content')
La @yieldpalabra clave es una forma de hacer una sustitución de código o códigos cortos, por así decirlo. Definiremos lo que realmente vamos a poner en esta área cedida en nuestros archivos de vista.


Crear archivos de vista

Para este ejemplo, necesitamos algunos archivos de vista. En nuestro /app/views/blogpostsdirectorio podemos crear index.blade.phpasí como show.blade.phpEsos archivos se verán así:

index.blade.php

show.blade.php

Esto podría ser un poco nuevo para ti, lo fue para mí. De hecho, diría que hay muchos pros y contras al usar un motor de plantillas, pero dado que realmente estamos tratando de ser puristas de Laravel aquí, haremos un esfuerzo extra y profundizaremos en Blade . Los archivos de vista deben comenzar con la palabra clave @extends como se ve aquí para poder hacer referencia a la página maestra que se utilizará. Además, define áreas de código para inyectar en la página maestra definiendo secciones utilizando las palabras clave @section y @stop . Todas las construcciones de programación normales, y algunas nuevas, están disponibles para usted como puede ver aquí.

Si declaraciones

Bucles

Incluye


Actualizar el controlador de Blogposts

Ahora que tenemos una página maestra y algunos archivos de vista creados, podemos modificar el controlador de Blogposts para que haga uso de las vistas en lugar de simplemente devolver datos al navegador. Estas son las modificaciones que se deben realizar en los métodos index()show():


Revise el flujo del programa

Revisemos el flujo del programa antes de intentar cargarlo en nuestro navegador.

Tenemos un routes.phparchivo que ha registrado todas nuestras rutas tranquilas para nosotros.
Route::resource('blogposts', 'BlogpostsController');

Luego golpearemos un controlador que tiene la lógica para nuestros métodos index () y show (). Ver código arriba.
class BlogpostsController extends BaseController {

El controlador hará uso del modelo Blogpost.

Al hacer uso del modelo, podemos obtener los datos que queramos de la base de datos. Una vez que el controlador ha utilizado el modelo para obtener los datos de la base de datos, seguirá adelante y renderizará una vista View::make()pasando los datos necesarios. Cuando el controlador indica que realice la vista, Laravel utilizará de manera inteligente la página maestra además de los fragmentos de HTML que se encuentran en los archivos de vista para crear la página renderizada final.


¡Probémoslo!

Configuramos muchas cosas en nuestra ruta, controlador, modelo y vista. Probémoslo para ver qué obtenemos🙂

Primero visitaremos http://you.rock/blogposts
publicaciones de la lista de blogs de laravel

Heeyyyy ¡Te ves🙂 bien Charlie Brown!

Ahora que vemos una lista de todas las publicaciones de blog, continúe y haga clic en uno de los enlaces para profundizar y ver información específica sobre la publicación de blog. Lo intentaremoshttp://you.rock/blogposts/laravel-eloquent-orm-tutorial
publicación única del blog de laravel

¡Excelente! ¡Ver publicaciones individuales usando una bonita sintaxis de URL también funciona!

Otra ventaja es que al incluir Twitter Bootstrap en la página maestra, podemos ver el aspecto visual mucho mejor que cuando estábamos descargando JSON por primera vez en el navegador. Cuando solo queremos probar nuestra lógica y no preocuparnos por el front-end, sigue siendo genial poder simplemente devolver JSON o usar la dd()función de volcado o morir.

Esto es realmente emocionante, ¡estamos haciendo un gran progreso para poner al día nuestras habilidades con Laravel!