Entender Laravel

1

隆Actualizamos este curso!

2

驴Qu茅 es Laravel?

3

Herramientas necesarias para trabajar con PHP y Laravel

4

Entendiendo el ciclo de vida de las solicitudes web

5

Qu茅 es un CRUD y c贸mo implementarlo

6

L贸gica de controladores y vistas con datos de prueba

7

Creando un formulario

Comprender los Fundamentos de Laravel

8

Sistema de rutas y controladores

9

Uso de Middlewares

10

Validaci贸n de datos (rutas, vistas, formularios y controladores)

11

Blade: sistema de plantillas avanzado

12

Trabajando con el componente Laravel/UI

Aprender sobre Eloquent ORM

13

Eloquent: trabajando con este ORM

14

Relaciones de tablas

15

Colecciones y serializaci贸n de datos

16

Formato de valores en tablas y presentaci贸n de datos

Crear PlatziPress

17

Proyecto Blog: presentaci贸n y configuraci贸n inicial

18

Creaci贸n de tablas, entidades y datos de prueba

19

Plantillas de trabajo y entendiendo el login

20

Dise帽o visual con Bootstrap

21

Vista index y botones de acci贸n

22

Implementaci贸n del formulario de creaci贸n

23

Implementaci贸n del guardado

24

Creando la funci贸n de editar un post

25

Actualizando nuestros posts

26

Integrando contenido audiovisual

Construir Proyecto Final: API con TDD (Intermedio)

27

Introducci贸n al testing

28

Metodolog铆a TDD y testing HTTP

29

Proyecto API con TDD: presentaci贸n y configuraci贸n inicial

30

Store con TDD

31

Refactorizaci贸n y validaci贸n en Store

32

Show con TDD

33

Update y validaci贸n con TDD

34

Delete con TDD

35

Index con TDD

36

Protecci贸n de una API con Login

37

Cierre del curso

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

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(鈥榗ontenido鈥) 鈫 Esto le indica a Laravel que aqu铆 se va registrar el contenido, y le pondremos dentro un nombre identificador.
  • @extends(鈥榓rchivo鈥) 鈫 Para indicar de qui茅n vamos a utilizar el @yield
  • @section(鈥榗ontenido鈥) 鈫 Con este le indicamos a Laravel el @yeild donde va llevar el contenido que escribamos dentro de este.
  • @include(鈥榗ontenido鈥) 鈫 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 鈥減arearlos鈥 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(鈥榥ombre_ 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(鈥榥ombre_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#??