13091


いつもお世話になっています。  
ただいま手探りでLaravel5を勉強中です。  
viewへのデータの渡し方で疑問に思った事があるのですが、調べきれませんでしたので、質問させてください。

コントローラーで、

[code]

    public function index() {
      $test = "テスト";
      return view('blog.index')->with('test',$test);
    }
    
[/code]

と言うように記述して変数をViewに表示してみたのですが、  
例えばこれをblog.indexだけではなく、blog.showやblog.editなど、  
該当コントロール下の全メソッドに共通して渡す書き方はあるのでしょうか？


CC BY-SA 3.0
2015-07-30T18:42:35.290
12854
2015-08-06T05:41:24.967
10463
question
laravel
Laravel5での変数の渡し方について


コンストラクタで以下のように書くと blog.index、blog.show、blog.editのviewへ渡せると思います。

[code]

    public function __construct() {
        View::share('categories', 'カテゴリ');
    }
    
[/code]


CC BY-SA 3.0
2015-08-06T02:18:30.953
13091
2015-08-06T02:18:30.953
10092
12854
answer


目的と異なるかもしれませんが、いくつかのビューで共通するテンプレートパーツを使っているのであれば[View
Composer](http://laravel.com/docs/5.0/views#view-composers)が使えるかもしれません。  
これはテンプレートファイルが読み込まれた際に、そのテンプレートに対して変数を渡せる機能です。

[code]

    class ComposerServiceProvider extends ServiceProvider
    {
        public function boot()
        {
            view()->composer('sidebar', function ($view) {
                $test = "テスト";
                $view->with('test', $test);
            });
        }
    }
    
[/code]


CC BY-SA 3.0
2015-08-06T05:35:05.020
13095
2015-08-06T05:41:24.967
2015-08-06T05:41:24.967
10083
10083
12854
answer