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.
上阅读更多内容
我想收听 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.