Laravel 5: 查看加载事件

Laravel 5: View loaded event

我想收听 View 加载(或渲染...)事件,我如何在 Laravel 5 中使用 routes.php 中的 *Event:: 门面来做到这一点] 文件。

您可以使用 view::composer 代替,例如,如果您想在每次加载视图时传递一些公共数据,那么在这种情况下,在 'App\Http\ViewComposers' 中创建一个 view::composer 并且使用这样的服务提供商注册它:

<?php namespace App\Providers;

use View;
use Illuminate\Support\ServiceProvider;

class ComposerServiceProvider extends ServiceProvider {

    public function boot()
    {
        // Run "compose" method from "App\Http\ViewComposers\ProfileComposer" class
        // whenever the "profile" view (Basically profile.blade.php) view is loaded
        View::composer('profile', 'App\Http\ViewComposers\ProfileComposer');
    }
}

然后像这样创建 ProfileComposer(摘自 Laravel 文档):

<?php namespace App\Http\ViewComposers;

use Illuminate\Contracts\View\View;
use Illuminate\Users\Repository as UserRepository;

class ProfileComposer {

    protected $users;

    public function __construct(UserRepository $users)
    {
        $this->users = $users;
    }

    // Bind data to the view
    public function compose(View $view)
    {
        $view->with('count', $this->users->count());
    }
}

因此,每次加载 profile view 时,$count 变量都会绑定到该视图中,您可以像 view 中的其他变量一样使用它。而已。在 Laravel website.

上阅读更多内容