Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Slot, notifications, automatic facades e Dusk in Laravel 5.4

Scopriamo le novità di Laravel 5.4: prototipizzazione dell'HTML con Slot, notifications, automatic facades, abbreviazioni nelle collection e modulo Dusk.
Scopriamo le novità di Laravel 5.4: prototipizzazione dell'HTML con Slot, notifications, automatic facades, abbreviazioni nelle collection e modulo Dusk.
Link copiato negli appunti

Componenti e Slot in Blade in Laravel 5.4

Una delle modifiche più rilevanti tra quelle introdotte in Laravel 5.4 riguarda il layer HTML del framework. A partire da questa release sarà infatti possibile
utilizzare i componenti, un nuovo costrutto dedicato alla prototipizzazione dell'HTML. Grazie ai componenti sarà possibile creare dei blocchi di markup flessibili grazie al concetto di slot.

All'interno di un partial blade si potrà definire, più o meno come facciamo con i layout, zone all'interno delle quali dovrà essere inserito il contenuto del componente, grazie alla variabile $slot. Analizziamo il seguente esempio:

//panel.blade.php
<div class="panel">
    <div class="panel-body">
        {{ $slot }}
    </div>
</div>
//page.blade.php
@component('panel')
    I'm am the panel body
@endcomponent

La logica di default prevede un unico slot disponibile all'interno dei componenti, ma se avessimo bisogno di più slot possiamo utilizzare i named slot:

<div class="panel">
    <div class="panel-heading">
        {{ $heading }}
    </div>
    <div class="panel-body">
        {{ $slot }}
    </div>
</div>
@component('panel')
    @slot('heading')
        I'm am the heading
    @endslot
    I'm am the panel body
@endcomponent

Notifications

Le Notifications sono un nuova tipologia di oggetto presente in Laravel e rappresentano appunto una notifica
che può essere inviata agli utenti sfruttando diversi canali, per esempio email o SMS.

Grazie a questa classe possiamo astrarre il messaggio dalla tipologia di trasporto utilizzato per rendere quindi il tutto più flessibile e configurabile. Le notifiche si integrano perfettamente con le code Laravel e possono essere create tramite un nuovo e dedicato comando di artisan da linea di comando.

Automatic Facades

La terza grande novità non riguarda nuove funzionalità, ma un nuova modalità di organizzazione del codice e di gestione
delle dipendenze. Grazie alle automatic facades sarà possibile trasformare qualsiasi classe, senza ulteriori configurazione,
in una classe Facade che può essere utilizzata facilmente in altre classi come una normale Facade.

Abbreviazioni nelle collection

Grazie ai magic method di PHP è stato possibile aggiungere una nuova funzionalità alle Collection. Nel caso dovesse servire invocare un metodo
per ogni elemento della collection, potremo farlo senza creare una closure da passare al metodo each. Un esempio è senza ombra di dubbio più esplicativo:

//al posto di:
$users->each(function($user) {
    $user->enable();
});
//potremo scrivere
$users->each->enable();

Aggiornamenti nel motore di routing

Laravel 5.4 ha parzialmente modificato la configurazione delle rotte sfruttando una sintassi più fluente sia nella creazione che nell'impostazione di
middleware e prefissi:

Route::name('login')->get('login'), function() { .... });
Route::name('logout')->middleware('auth')->get('logout'), function() { .... });
Route::name('logout')->middleware('auth')->get('logout'), function() { .... });

Laravel Dusk

Oltre alle modifiche al core di Laravel è stato introdotto un nuovo modulo chiamato Dusk, si tratta di un tool per test end-to-end che sfrutta un browser con un supporto completo ad applicazioni JavaScript. Con Dusk potremo creare test invocando azioni sulla pagina web come un click su un pulsante o la digitazione di
qualche parametro in un form.

Dusk estende componenti che funzionano solamente con pagine statiche, per poter funzionare anche con applicazioni che fanno uso di Javascript.
Per installarlo è necessario scaricare una nuova dipendenza di composer laravel/dusk e, una volta scritto il test, invocare il nuovo comando

php artisan dusk

Laravel Mix

Questo aggiornamento introduce anche un cambiamento nella modalità di compilazione e generazione delle risorse statiche client-side (js, css...).
Mix non utilizza più Gulp, ma include direttametne Webpack, un moderno e innovativo motore di compilazione di assets.

Anticipazioni su Laravel 5.5

Nonostante sia passato poco dal rilascio della versione 5.4, la comunità di sviluppatori Laravel è già in fermento per la prossima versione, la 5.5, soprattutto per una novità già comunicata ufficialmente dagli autori del framework: la prossima versione infatti richiederà PHP 7.0 e non funzionerà con versioni precedenti di PHP..


Ti consigliamo anche