Я перестал писать это для laravel в пользу пакета Laracasts, который обрабатывает все это для вас. Он действительно прост в использовании и сохраняет ваш код в чистоте. Есть даже ларакаст, в котором рассказывается, как его использовать. Все, что вам нужно сделать:
Вытащите пакет через Composer.
"require": {
"laracasts/flash": "~1.0"
}
Включите поставщика услуг в app / config / app.php.
'providers' => [
'Laracasts\Flash\FlashServiceProvider'
];
Добавьте псевдоним фасада к этому же файлу внизу:
'aliases' => [
'Flash' => 'Laracasts\Flash\Flash'
];
Вытащите HTML в представление:
@include('flash::message')
Справа от сообщения есть кнопка закрытия. Это зависит от jQuery, поэтому убедитесь, что он добавлен перед загрузкой.
необязательные изменения:
Если вы не используете загрузчик или хотите пропустить включение флеш-сообщения и написать код самостоятельно:
@if (Session::has('flash_notification.message'))
<div class="{{ Session::get('flash_notification.level') }}">
{{ Session::get('flash_notification.message') }}
</div>
@endif
Если вы хотите просмотреть извлеченный HTML-код @include('flash::message')
, вы можете найти его в vendor/laracasts/flash/src/views/message.blade.php
.
Если вам нужно изменить партиалы, сделайте:
php artisan view:publish laracasts/flash
Теперь два представления пакета будут расположены в каталоге `app / views / packages / laracasts / flash / '.
s
и добавить,use
где это необходимо. Помимо этого - должно работать.