Laravel

Laravel 5.4: versió nova, funcionalitats noves

Laravel 5.4 ja és una realitat i ve acompanyada de novetats molt interessants. Avui repassem les més destacables, que faran que el nostre projecte millori substancialment.

Drauta agencia digitalDrauta

Laravel 5.4: versió nova, funcionalitats noves

Novetats Laravel 5.4

En ocasions tenim un input al que demanem el mail, pensem que s'utilitzarà correctament i acabem guardant un mail així: 'mail@example.com   '.

A la nova versió de Laravel ja no és problema, amb ajuda d'un middleware nou ho deixarà així: 'mail@example.com'.

Laravel Mix

A més a més d'aquesta funcionalitat, també ens ajuda quan tenim una colecció de models i volem fer-li alguna cosa a tots. per exemple, tenim un llistat de pots i els volem activar. Hem de fer-ho així:

`

$posts->each(function($post){

$post->activar();

});

`

Ara podem fer-ho així:

`

$posts->each->activar();

`

Això és així perquè Laravel té una carpeta d'assets a /resources a la que podem posar els nostres scss i els js fent 'gulp' compilar-ho tot amb Laravel Elixir, que ara ha passat a anomenar-se Laravel Mix. Ha canviat el seu funcionament, però segueix fent màgia.

Als teus routes/web.php tens coses així:

`

Route::put('post/{post}', 'PostController@update')->middleware('auth');

`

Ara pots reordenar-ho a:

`

Route::middleware('auth')->put('post/{post}', 'PostController@update');

`

No és una funcionalitat que s'utilitzarà massa, és preferible tenir-ho ordenat amb route::verb('path', 'funcio')->extres

Continuem amb els Posts, fas el teu model, la seva migració i amb el controllers executes 'php artisan make:controller PostController --resource', això et crearà totes les funcions que utilitzaràs per llistar, crear, editar, veure i eliminar, però has d'editar tots els $id per Post $post. Ara podràs executar 'php artisan make:controller PostController --model="App\Post"' i t'estalvies això.

Tens en ment un panell de Bootstrap?

`

<div class="panel panel-default">

<div class="panel-heading">

<h3>Títol</h3>

</div>

<div class="panel-body">

<p>Lorem ipsum...</p>

</div>

<div class="panel-footer">

<button></button>

</div>

`

Si l'utilitzes molt ho treus a un partial i li canvies 'Títol' per {!! $titulo !!}, '<p>Lorem ipsum...</p>' per $body i '<button></button>' per {!! footer !!}. Fas un @include i no és net perquè li passes variables que contenen html.

Ara pots canviar aquest {!! $body !!} post {{ $slot }} i als altres dos li canvies els insegurs {!! !!} per uns més segurs {{ }}. I l'include ho canvies per:

`

@component('partial.panel')

@slot('title')

<h3>Titol</h3>

@endslot

<p>Lorem ipsum...</p>

@slot('footer')

<button></button>

@endslot

@endcomponent

`

És millor i té moltes utilitats. En realitat és una còpia dels components de Vue (i això no és que sigui dolent, és que és molt bo).

Enviar un mail sempre és molest, els clients de correu són molt exquisits i no accepten quasi res de css i has d'incloure els teus estils inline. Però tu treballes amb markdown cada vegada que vols escriure alguna cosa, és fàcil d'utilitzar i va bé. Doncs ara pots utilitzar-ho per escriure els teus mails a Laravel.

Facades a temps real

Ara pots convertir qualsevol classe a Facade a temps real, si vols que el teu App\Excel es comporti de forma estàtica fent que el teu codi sembli més net, nomès has de fer un use Facade\App\Excel.

Laravel Dusk

Laravel està construit per ser molt 'testejable', però quan tens molt js, coses que passen de forma asíncrona, sockets de broadcast, ... 'Testejar' això és difícil. O era difícil.

Amb Laravel Dusk, basicament obrim un navegador Google Chrome i fa el que li demanis (com esperar a que canviï alguna cosa que se li enviï per ajax) li preguntes si alguna cosa és certa i si no ho és et fa una captura de pantalla perquè puguis veure que és el que ha passat. Màgia.

Al meu blog imaginari tinc una newsletter a la que aviso quan pujo un post nou. Això ho faig amb Laravel Notifications de Laravel 5.3 i va perfecte, però he d'atacar als esdeveniments del post i preferiria tenir els meus propis. Doncs ara li pots dir al Post que quan volgui llançar l'esdeveniment de 'nou post creat', en comptes d'utilitzar el seu esdeveniment llançi el teu, amb el nom que tu volguis i les teves normes. Així t'assegures de tenir tota la potència sempre.

Vols començar un nou projecte amb nosaltres?

Necessites un servei per a la teva web? Descobreix com et podem ajudar i no dubtis en contactar amb nosaltres.