自动加载视图作曲家文件
Auto load view composer file
我刚刚在 View Composers 上观看了 Laracast 视频。
一切正常,但我对视频的最后一部分一无所知。
我的 routes.php
中有以下代码:
View::composer('layouts.partials.sidebar', 'App\Composers\SidebarComposer');
在视频的最后解释说这可以从路由文件中删除。在 starts/global.php
文件中,他添加了以下代码:
require app_path() . 'composers.php';
我没有 starts/global.php
文件,那么最好的方法是什么?
您需要为作曲家创建一个服务提供者,并将您的视图作曲家放在 App\Http\ViewComposers
中(您可以随意将它放在其他任何地方)。不要忘记将此服务提供商注册到 config/app.php
中的 providers
数组。
请参阅下面的示例:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider
{
/**
* Register bindings in the container.
*
* @return void
*/
public function boot()
{
// Using class based composers...
view()->composer(
'profile', 'App\Http\ViewComposers\ProfileComposer'
);
// Using Closure based composers...
view()->composer('dashboard', function ($view) {
//
});
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
有关详细信息,请参阅官方 Laravel 5 文档 -> View Composers。
我刚刚在 View Composers 上观看了 Laracast 视频。
一切正常,但我对视频的最后一部分一无所知。
我的 routes.php
中有以下代码:
View::composer('layouts.partials.sidebar', 'App\Composers\SidebarComposer');
在视频的最后解释说这可以从路由文件中删除。在 starts/global.php
文件中,他添加了以下代码:
require app_path() . 'composers.php';
我没有 starts/global.php
文件,那么最好的方法是什么?
您需要为作曲家创建一个服务提供者,并将您的视图作曲家放在 App\Http\ViewComposers
中(您可以随意将它放在其他任何地方)。不要忘记将此服务提供商注册到 config/app.php
中的 providers
数组。
请参阅下面的示例:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider
{
/**
* Register bindings in the container.
*
* @return void
*/
public function boot()
{
// Using class based composers...
view()->composer(
'profile', 'App\Http\ViewComposers\ProfileComposer'
);
// Using Closure based composers...
view()->composer('dashboard', function ($view) {
//
});
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
有关详细信息,请参阅官方 Laravel 5 文档 -> View Composers。