Consejos y trucos esenciales de Laravel Blade

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

Conviértete en un profesional de Laravel Blade con estos consejos y trucos esenciales

Aquí hay algunos consejos y trucos esenciales y de los más avanzados para usar Blade en Laravel…

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


Directivas personalizadas

Blade le permite definir directivas personalizadas que se pueden usar en sus vistas. Esto puede ser útil para encapsular lógica compleja o crear bloques de plantillas reutilizables.

Para definir una directiva personalizada, puede usar el método Blade::directive en su proveedor de servicios:

Blade::directive('uppercase', function ($expression) {
return "<?php echo strtoupper{$expression}; ?>";
});

Esta directiva se puede usar en sus vistas de esta manera:

La directiva ejecutará el código PHP para convertir la variable $string a mayúsculas y generará el resultado.

Pasar datos a vistas

En Laravel, puedes pasar datos a tus vistas desde tus controladores usando el método with en la instancia de la vista. Por ejemplo:

También puede pasar una matriz de datos a su vista:

return view('myview')->with([
'key1' => $value1,
'key2' => $value2,
]);

Los datos pasados a la vista estarán disponibles como variables en la vista.

Visualización de errores

Blade proporciona una manera conveniente de mostrar los errores de validación en sus vistas. Para mostrar los errores de un campo dado, puede usar la variable $errors y los métodos  hasfirst:

@if ($errors->has('field'))
<div class="alert alert-danger">
{{ $errors->first('field') }}
</div>
@endif

Esto mostrará el primer mensaje de error para el field si hay algún error.

Compilar vistas

Blade compila sus vistas en código PHP cuando se accede a ellas por primera vez y almacena las versiones compiladas en el directorio storage/framework/views. Esto permite que las vistas compiladas se sirvan más rápidamente en solicitudes posteriores.

Puede compilar manualmente sus vistas usando el comando php artisan view:cache. Esto puede ser útil si desea compilar previamente sus vistas para la producción, o si ha realizado cambios en sus vistas y desea ver los cambios reflejados de inmediato.

Depuración

Si tiene problemas con sus plantillas Blade, puede usar la directiva @debug para imprimir el contenido de una variable en la pantalla:

Esto imprimirá la variable y su tipo en la pantalla, lo que puede ser útil para comprender por qué su código no se comporta como se esperaba.

Declaraciones if personalizadas

Puede definir una directiva personalizada para una declaración if más legible:

Blade::directive('readableif', function ($expression) {
return "<?php if ({$expression}): ?>";
});

Esta directiva se puede utilizar en sus puntos de vista de esta manera:

@readableif($variable == 5)
<p>The variable is equal to 5.</p>
@endif

Bucles while personalizados

Puede definir una directiva personalizada para un bucle while más legible:

Blade::directive('readablewhile', function ($expression) {
return "<?php while ({$expression}): ?>";
});

Blade::directive('readableendwhile', function () {
return "<?php endwhile; ?>";
});

Estas directivas se pueden usar en sus vistas de esta manera:

@readablewhile($variable < 10)
<p>The variable is currently {{ $variable }}</p>
<?php $variable++; ?>
@readableendwhile

Declaraciones de cambio personalizadas

Puede definir una directiva personalizada para una declaración de switch más legible:

Blade::directive('readableswitch', function ($expression) {
return "<?php switch ({$expression}): ?>";
});

Blade::directive('readablecase', function ($expression) {
return "<?php case {$expression}: ?>";
});

Blade::directive('readablebreak', function () {
return "<?php break; ?>";
});

Blade::directive('readableendswitch', function () {
return "<?php endswitch; ?>";
});

Estas directivas se pueden usar en sus vistas de esta manera:

@readableswitch($variable)
@readablecase(1)
<p>The variable is equal to 1.</p>
@readablebreak
@readablecase(2)
<p>The variable is equal to 2.</p>
@readablebreak
@readablecase(3)
<p>The variable is equal to 3.</p>
@readablebreak
@readableendswitch

¡Espero que estos ejemplos y consejos sean útiles para trabajar con Blade en Laravel! Hazme saber si tienes alguna pregunta.


Gracias por llegar hasta aquí, si encuentras esto útil no olvides dejar un👍🏼y suscribirse para recibir más contenido.

Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre AWS y Laravel:

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]