atijust's blog

技術的なこととか。

Laravel4でView Composerの設定をする場所

View Composerの設定をする場所の私案。特にデフォルトの場所が決まってるわけではないので好きな場所で設定すればいいんだけど、かといってroutes,.phpに書くのもダサいので、収まりのいい場所を模索。

ServiceProviderで

app/Atijust/ViewComposerProvider.php

<?php
namespace Atijust;

use Illuminate\Support\ServiceProvider;
use View;

class ViewComposerProvider extends ServiceProvider
{
    public function register()
    {
        /* NOP */
    }

    public function boot()
    {
        View::composer('sidebar', 'Atijust\SidebarViewComposer');
    }
}

app/composers.php

app/composers.php

<?php
View::composer('sidebar', 'Atijust\SidebarViewComposer');

app/start/global.php

<?php
require app_path().'/composers.php';

app/composers.phpを作成しView Composerを定義。 app/start/global.phpでrequireする。

なんとなくapp/composers.phpのほうが収まりがいい気がする。app/routes.phpでコントローラ、app/composers.phpでコンポーザーみたいな。ただ、数が多くなった場合は、ServiceProviderで整理したほうがいいかもしれない(おそらくこれはルートにも言える)。