【发布时间】:2017-01-08 09:32:22
【问题描述】:
我为我的应用创建了一个前端服务提供者:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Session;
class FrontendServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
view()->share('message', !is_null(Session::get('message')) ? '<div class="alert alert-success"><strong>Success! </strong>'.Session::get('message').'</div>' : '');
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
我正在控制器中设置一条闪烁消息,如下所示:
public function resend_welcome($token)
{
$user_id = Crypt::decrypt($token);
$user = User::findOrFail($user_id);
if($user->meta->confirmed==1) {
abort(404);
}
Event::fire(new UserRegistered($user));
Session::flash('message', 'A new email has been sent.');
return redirect(route('register.success', $token));
}
然后在我看来,我试图像这样输出 $message:
{{ $message }}
问题是 $message 总是 NULL。如果我在我的视图中使用Session::get('message'),那么它会起作用并显示闪存消息。为什么Session::get('message')在服务提供者中总是为NULL,即使我已经在控制器中设置了?
【问题讨论】:
标签: laravel laravel-5 laravel-5.2