いつも世話になります。目的は達成されているのですが、記述が冗長だと思います。
もっとスマートな方法があると思うので知りたいと思ってます。
■ 実現したいこと
Laravel5.7を利用していてます。layoutsの中にfooter.blade.phpを作成しています。
このfooter.blade.php内の一部コンテンツの出力する・しないをコントロールしたいので、
ViewComposerを利用して、出力フラグを渡したいと思っています。
その為に、そのViewが作成される契機かきっかけが知りたいと思っています。
きっかけはRoute名だと思っていて、
契機はController名だと思っています。
その何れかを取得できれば、コンテンツ一部の出力制御が可能だと思っています。
■ 問題になっていること
現在、なんとかRoute名を取得することができていますが、
PHP
1dd($view->getData()['app']->getInstance()['Illuminate\Routing\Route']->uri);
こんな状態で取得しているので、いい方法が知りたいと思っています。
php
1namespace App\Http\ViewComposers; 2 3use Illuminate\Contracts\View\View; 4 5class FooterComposer{ 6 7 public function compose(View $view) 8 { 9 10 dd($view->getData()['app']->getInstance()['Illuminate\Routing\Route']->uri); 11 12 } 13}
ソース全体はこうなっています。
ServiceProviderの設定は済んでおります。
php
1use Illuminate\Routing\Route;
参照を追加して、インスタンス作ってプロパティにアクセスすればと思ったのですが、
コンストラクタからパラメータのエラーが出されてダメでした。
どなたかご教示頂けないでしょうか…。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/07 05:24