No tienes acceso a esta clase

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

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
22 Hrs
44 Min
47 Seg
Curso de Introducción a Laravel 6

Curso de Introducción a Laravel 6

Profesor Italo Morales F

Profesor Italo Morales F

Blade: sistema de plantillas avanzado

11/37
Recursos

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#??