Ho smesso di scriverlo per Laravel in favore del pacchetto Laracasts che gestisce tutto per te. È davvero facile da usare e mantiene pulito il tuo codice. C'è anche un laracast che copre come usarlo. Tutto ciò che devi fare:
Inserire il pacchetto tramite Composer.
"require": {
"laracasts/flash": "~1.0"
}
Includi il fornitore di servizi in app / config / app.php.
'providers' => [
'Laracasts\Flash\FlashServiceProvider'
];
Aggiungi un alias di facciata a questo stesso file in fondo:
'aliases' => [
'Flash' => 'Laracasts\Flash\Flash'
];
Trascina l'HTML nella vista:
@include('flash::message')
C'è un pulsante di chiusura sulla destra del messaggio. Questo si basa su jQuery, quindi assicurati che venga aggiunto prima del bootstrap.
modifiche opzionali:
Se non stai usando bootstrap o vuoi saltare l'inclusione del messaggio flash e scrivere tu stesso il codice:
@if (Session::has('flash_notification.message'))
<div class="{{ Session::get('flash_notification.level') }}">
{{ Session::get('flash_notification.message') }}
</div>
@endif
Se desideri visualizzare l'HTML inserito @include('flash::message')
, puoi trovarlo in vendor/laracasts/flash/src/views/message.blade.php
.
Se è necessario modificare i parziali, procedere come segue:
php artisan view:publish laracasts/flash
Le due viste dei pacchetti ora si troveranno nella directory `app / views / pacchetti / laracasts / flash / '.
s
e aggiungiuse
dove necessario. A parte questo, dovrebbe funzionare.