Entender Laravel

1

Novedades y herramientas actualizadas en Laravel

2

Desarrollo web con Laravel: proyectos y funcionalidades clave

3

Curso de Laravel 6: Configuración del Entorno de Desarrollo

4

Instalación y configuración de Laravel paso a paso

5

CRUD en Laravel: Crear, Leer, Actualizar y Eliminar Usuarios

6

"Creación de Controladores y Vistas en Laravel"

7

Creación de Formularios y Validación en Laravel con Bootstrap

Comprender los Fundamentos de Laravel

8

Rutas y Controladores en Laravel: Fundamentos Esenciales

9

Protección de Rutas y Controladores en Laravel con Middleware

10

Validación de Formularios en Laravel: Buenas Prácticas y Ejemplos

11

Sistema de Plantillas Blade en Laravel: Creación y Uso Eficiente

12

Implementación de Sistema de Autenticación en Laravel con Bootstrap

Aprender sobre Eloquent ORM

13

Manejo de Bases de Datos con Eloquent en Laravel

14

Relaciones de Tablas y Manipulación de Datos en Laravel

15

Manipulación de Colecciones y Serialización de Datos en Laravel

16

Manipulación de Datos en Bases de Datos con PHP

Crear PlatziPress

17

Creación de un Blog con Sistema de Autenticación y Slugs

18

Configuración de Migraciones, Factories y Seeders en Laravel

19

Configuración de Rutas y Controladores en Laravel para Listado de Posts

20

Configuración Visual y Paginación en Laravel y Vue.js

21

Gestión de Artículos en Laravel: Rutas, Controladores y Vistas

22

Creación de Formularios en PHP con HTML y Bootstrap

23

Validación y Guardado de Datos en Laravel

24

Formulario de Edición de Artículos con Laravel

25

Gestión de Formularios y Archivos en Laravel

26

Integración de Imágenes y Contenido Multimedia en Proyectos Web

Construir Proyecto Final: API con TDD (Intermedio)

27

Testing y Pruebas Funcionales en Laravel: Proyecto Intermedio

28

Pruebas de Software: Ciclo Rojo, Verde y Refactorización

29

Configuración de Proyectos en Laravel: Controladores y Pruebas

30

Desarrollo Guiado por Pruebas en Laravel: Configuración y Ejecución

31

Refactorización y Validación de Código en Pruebas Unitarias

32

Pruebas y Configuración de Controladores en Laravel

33

Actualización de Datos en Controladores: Método y Pruebas

34

Pruebas Unitarias para Método de Eliminación en Bases de Datos

35

Creación y Prueba de Métodos Index en PHP

36

Protección de APIs con Autenticación Token en Laravel

37

Desarrollo de Formularios con Blade y Verbalización de Datos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Introducción a Laravel 6

Curso de Introducción a Laravel 6

Profesor Italo Morales F

Profesor Italo Morales F

Sistema de Plantillas Blade en Laravel: Creación y Uso Eficiente

11/37
Recursos

¿Cómo funciona el sistema de plantillas en Laravel con Blade?

En el desarrollo web, optimizar el manejo de vistas es crucial para lograr un código limpio y manejable. Laravel, conocido por su eficiencia y flexibilidad, ofrece Blade, su sistema de plantillas que transforma la forma en que trabajamos con vistas. Usar Blade no solo ayuda a mantener el código ordenado, sino que también optimiza el uso de recursos, gracias a su capacidad para generar código PHP puro. Vamos a explorar cómo implementar y utilizar este poderoso sistema en Laravel.

¿Cómo crear un nuevo proyecto en Laravel?

Antes de profundizar en Blade, necesitamos configurar un entorno de Laravel adecuado. Sigamos estos pasos para crear un nuevo proyecto:

  1. Abrir la terminal: Es el punto de partida para ejecutar comandos en el sistema.
  2. Crear un nuevo proyecto: Utiliza el comando composer create-project --prefer-dist laravel/laravel nombre-proyecto para empezar tu proyecto.
  3. Navegar al proyecto: Usa cd nombre-proyecto para entrar en el directorio del proyecto recién creado.
  4. Abrir en un IDE: Recomendamos usar un IDE como Visual Studio Code, donde podrás abrir el proyecto y gestionar los archivos cómodamente.

¿Cómo funciona Blade en Laravel?

Blade es el motor de plantillas incluido en Laravel, ideal para trabajar con vistas PHP utilizando una sintaxis elegante y ligera. A continuación, un vistazo a su funcionamiento básico:

  1. Sintaxis sencilla: Blade utiliza estructura tipo @ y llaves {} para identificar directivas y variables.
  2. Extensión de archivos: Los archivos Blade utilizan la extensión .blade.php, lo que distingue su sintaxis de los archivos PHP tradicionales.
  3. Herencia de plantillas: Blade permite heredar plantillas base mediante la directiva @extends, facilitando la reutilización de código.
  4. Secciones y contenido: Define secciones con @section, y llena esas secciones con contenido en archivos que extienden la plantilla base.

¿Cómo configurar una ruta en Laravel?

Las rutas son esenciales para dirigir solicitudes y mostrar vistas correctas. Configurar rutas en Laravel es bastante directo:

  • Definición de rutas: Abre el archivo routes/web.php.
  • Registrar una ruta básica: Usa la función Route::get('/ruta', function() { return view('nombre-vista'); }); para asociar una URL con una vista Blade.
  • Controladores y vistas: Alternativamente, puedes usar controladores para manejar la lógica y luego devolver vistas con $this->view('nombre-vista').

¿Cómo optimizar el rendimiento de vistas con Blade?

Blade permite la generación de código PHP compilado, lo que mejora notablemente el rendimiento de las aplicaciones web:

  • Archivos compilados: Laravel compila plantillas Blade en archivos PHP situados en storage/framework/views, lo que ayuda a que las vistas carguen más rápidamente.
  • Almacenamiento eficiente: Al trabajar directamente con PHP, las vistas no agotan recursos innecesarios. Esto las hace más eficientes y rápidas de procesar.

¿Cómo aplicar herencia en Blade con "includes"?

Blade no solo hereda plantillas completas, sino que también permite incluir componentes específicos, como encabezados y pies de página, simplificando la gestión de contenido:

// En tu plantilla base
@include('header')
@section('content')
    <!-- Contenido principal aquí -->
@endsection
@include('footer')

Retos y futuras aplicaciones de Blade

Dominar Blade no solo simplifica el desarrollo, sino que sienta una base sólida para proyectos grandes. Un ejercicio recomendado es identificar los encabezados y pies de página comunes en tus proyectos, creando plantillas reutilizables para estos elementos.

Aprovecha Blade para mantener tu código organizado y comprensible en el tiempo. Así, tu sistema será mantenible, capaz de evolucionar sin complicaciones a medida que tus proyectos crezcan. ¡Sigue explorando y construyendo con Blade en Laravel para potenciar tus habilidades de desarrollo!

Aportes 30

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tips blade:
- Para imprimir variables en blade usamos {{ $var}}
- Para imprimir vaiables escapando html {!! $var !!}

- Ciclos en blade:
- - @foreach ($vars as $var)
    	<li>{{ $var->value }}</li>
	@endforeach

- - @if (! empty($var))
    	$var->value
	@endif

- - @if (!empty($var))
    	$var->value
	@else
    	<p>Empty</p>
	@endif

- - @if (!empty($var))
    	$var->value
	@elseif ($var >18)
    	<span>I'm over 18</span>
	@else
    	<span>I'm under 18</span>
	@endif

- Codigo php sin usar <?php ... ?>:
- - @php
    	// php code
	@endphp

Blade: sistema de plantillas avanzado


Blade es el sistema de plantillas de Laravel. Todo lo que tiene que ver con vistas estará en resources → views.

  • @yield(‘contenido’) → Esto le indica a Laravel que aquí se va registrar el contenido, y le pondremos dentro un nombre identificador.
  • @extends(‘archivo’) → Para indicar de quién vamos a utilizar el @yield
  • @section(‘contenido’) → Con este le indicamos a Laravel el @yeild donde va llevar el contenido que escribamos dentro de este.
  • @include(‘contenido’) → Incluye el código de otros archivos al archivo que lo está incluyendo.

👀 Cuando utilizamos @yield y @section, estamos haciendo que Laravel extraiga lo que tenemos dentro del @section y inyecta en el archivo que le indicamos con @extends para al final poner el contenido donde se encuentra el @yield.

⚠ En cambio con @include, Laravel trae el contenido que está en el archivo que incluimos y lo pone en el archivo actual.

Laravel realmente muestra en el navegador el resultado que el creo con las plantillas blade que hemos creado, este resultado lo guarda en storage → views.

En VSC les recomiendo la siguiente extensión, que te permitirá ser más productivo al trabajar con plantillas en blade.

Mas cursos con este profe!
un capo italo!

Las plantillas blade son lo mejor ya que nos apoyan a que el html se lea muy legible, ya que con php puro siempre tenemos que agregar la etiqueta de abertura y la de cierre, ejemplo:

<?php if(true) { ?>
	<h1>Hola mundo!</h1>
<?php } ?>

Si se requiere renderizar scripts o estilos de vistas secundarias en la plantilla principal.


  • En una vista secundaria crear el script o estilo que funcionarán solo en esa vista; ponerlo dentro de la etiqueta push, de la siguiente manera:
@push('scripts')
    <script src="example.js"></script>
@endpush
@push('styles')
 	<link rel="stylesheet" href="example.css">   
@endpush
  • En la vista o plantilla principal, se invoca a los scripts o estilos de una vista secundaria utilizando la etiqueta stack(), de la siguiente manera:
<head>
    <!-- meta datos y otros estilos CSS -->
		@stack('styles')		
</head>
<body>
	    <!-- Contenido -->
	    <!-- Otros scripts -->
			@stack('scripts')		
</body>

Este curso es una joya !!

Según mi lógica:
@yield es para mantener un tipo de relación padre / hijo de la vista master por decirlo de alguna forma, con la sección que extienda de dicha vista. O sea que pueden compartir métodos, variables, datos entre si… (?)
@include funciona de la misma manera que en php puro, pero no entiendo la diferencia entre ambas. Toda la información en foros dicen lo mismo que la documentación en Laravel y no comprendo que se usa para cada caso y como debería de trabajar mis proyectos. Si por mi fuera viviría de puros @include ya que se me hace más engorroso tener que usar el @extends, @section, @endsection y de lo contrario con un simple @include de primeras agrega el código de la vista y ya. Si alguien me pudiera sacar de la duda que no sea citando textualmente la documentación o si me acerque un poco con mi conclusión de al principio les agradecería mucho.

Interesante, siempre me gustan usar los sections para imprimir contenido variable en diferentes partes de mi plantilla

Los yield-section van relacionados, en donde pongas un yield se va a imprimir el section que hayas definido, y la forma de “parearlos” es a través de su nombre

excelente curso, bien explicado tocando cosas importantes!!

Esto me recuerda al preprocesador PUG :0

@DD($variable) para parar el código y solo ver una variable
@push ojala explique la utilización de estos

  • /views/layouts/app.blade.php
  • /views/components/header.blade.php
  • /views/components/nav.blade.php
  • /views/components/footer.blade.php
  • /views/pages/index.blade.php

Blade es un sistema de plantillas de Laravel muy sencillo y a la vez muy poderoso.

woao realmente se ve muy util para aislar codigo y hacer trabajo en equipo tambien

Más documentación sobre Blade Templates
https://laravel.com/docs/7.x/blade#introduction

en PHP puro tenemos que abrir y cerrar a cada rato.

<select>
	<?php foreach($array as $item) : ?>
		<option> <?php echo $item['name'] ?> </option>
	<?php endforeach; ?>
</select>

blade es mas comodo…

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>

    </head>
    <body>
        @include('header')
        @yield('content')
        @include('footer')
 
    </body>
</html>

para manejar el <title> o <h1> en la pagina, seria correcto usar @yield
o usar una variable que venga del controlador?
cual seria la buena practica?

También hay otro tipo de plantillas usadas en el desarrollo web como mustache https://mustache.github.io/ son agnosticas al lenguaje

Interensate explicación.

Muy interesante esta herramienta

Blade nos permite crear plantillas usando un HTML base donde usamos el helper @yield() para determinar donde debe de ir nuestro contenido inyectado por otras vistas

Cuando creamos nuestra vista principal o que contiene la estructura, para usarla debemos de usar en la vista el helper @extends(‘nombre_ plantilla’)
Ejemplo:

@extends('app)

@section('content')
	hola, soy ejemplo
@endsection

En nuestra plantilla principal podemos incluir otras secciones de la pagina usando el helper: @include(‘nombre_seccion_incluir’)

Laravel crea codigo php de las vistas blade, en la siguiente ruta

storage > framework > views > archivos php de las vistas

👌👍😊

Alguien sabe como se configurar el entorno para que cuando escriba **nombre_vista.test ** Corra la aplicaion automaticamente, ya que de otro modo siempre me toca usar php artisan serve

blade es como razor en c#??