ViewComposerの使い方についてご教示お願いいたします。
複数のページに共通するパーツを作成すべく、ViewComposerに挑戦しています。
ログインユーザーの名前、写真、コメントの入ったプロフィールのようなものを画面右側に常に表示しようとおもい、
教科書どおりComposerServiceProviderとProfileComposerの2つのクラスファイルを用意しました。
質問はProfileComposer.phpのcomposeメソッドについてです。
本来であればgetSelfPhoto()の引数にログインユーザーのuser_idを入れ、会員各々のプロフィールが見れるような仕様にしたいのですが、idの取得及び注入方法がよくわかりません。
どのようにすれば会員各々のプロフィールを表示することが出来るのでしょうか。
よろしくお願い致します。
php
1// ProfileComposer.php composeメソッド 2$view->with('photos', $this->photoRepo->getSelfPhoto());
ComposerServiceProvider.php
php
1<?php 2 3namespace App\Providers; 4 5use Illuminate\Support\ServiceProvider; 6 7class ComposerServiceProvider extends ServiceProvider 8{ 9 /** 10 * Bootstrap the application services. 11 * 12 * @return void 13 */ 14 public function boot() 15 { 16 view()->composer('*', 'App\Http\ViewComposers\ProfileComposer'); 17 } 18 19 /** 20 * Register the application services. 21 * 22 * @return void 23 */ 24 public function register() 25 { 26 // 27 } 28}
ProfileComposer.php
php
1<?php 2 3namespace App\Http\ViewComposers; 4 5use App\Repositories\PhotoRepository; 6use Illuminate\View\View; 7 8class ProfileComposer 9{ 10 protected $photo; 11 /** 12 * Create a profile composer. 13 * 14 * @return void 15 */ 16 public function __construct(PhotoRepository $photo) 17 { 18 $this->photo= $photo; 19 } 20 21 /** 22 * Bind data to the view. 23 * 24 * @param View $view 25 * @return void 26 */ 27 public function compose(View $view) 28 { 29 $view->with('photos', $this->photoRepo->getSelfPhoto()); 30 } 31}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/04 06:15
2017/02/04 06:16
2017/02/04 06:42