自动加载视图编辑器文件

时间:2016-04-20 20:46:39

标签: view laravel-5 composer-php autoload

我刚观看了View Composers上的Laracast视频。

一切正常,但视频的最后一部分我一无所知。

我的routes.php中有以下代码:

View::composer('layouts.partials.sidebar', 'App\Composers\SidebarComposer');

在视频结尾处,它解释了这可以从路线文件中删除。在starts/global.php文件中,他添加了以下代码:

require app_path() . 'composers.php';

我没有starts/global.php文件,那么最好的方法是什么呢?

1 个答案:

答案 0 :(得分:1)

您需要为作曲家创建一个服务提供者,并将您的视图作曲家放在App\Http\ViewComposers中(您可以将其放在其他任何地方)。不要忘记将此服务提供商注册到providers。{/ p>中的config/app.php数组

请参阅以下示例:

<?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官方文档 - &gt; View Composers