◀ 42. 【Laravel】ViewComposerを用いてviewに共通の値を付与する方法 ▶
Layoutで必ず取得しなければならない値をわざわざ一つずつのコントローラーで取得するのは冗長的である。
当問題はViewComposerという機能を用いて解決することができる。
プロバイダーの作成
php artisan make:provider ComposerSeriviceProvider |
プロバイダーの登録
config/app.phpに以下の記述を追加する。
'providers' => [ ... App\Providers\ComposerSeriviceProvider::class, ] |
サービスプロバイダー
<?php namespace App\Providers; use App\Http\ViewComposers\CommonComposer; class ComposerSeriviceProvider extends ServiceProvider // どのビューでどのクラスが実行されるか定義する方法 // クロージャベースのコンポーザを使用する // 単純にサービスプロバイダー直下に処理を記載するのもあり |
コンポーザー(クラスベースの場合)
<?php namespace App\Http\ViewComposers; use Illuminate\View\View; class CommonComposer /** /** $view->with('aaa', 'bbb') |
composeの実行タイミング
View::composer(...)はViewのレンダリング後に実行される。
View::creator(...)を使用するとレンダリング前に実行される。
例えばAuth::check()の値はcreatorを使用しなければ正しい真偽値が取得できないといった事例がある。
- インストールと設定
- クイックスタート & チュートリアル(初心者向け)
- クイックスタート & チュートリアル(中級者向け)
- ルーティング
- Bladeテンプレート(ビュー/レイアウト)
- コントローラー
- マイグレーションとテーブル定義
- データベースの設定
- Eloquentモデル (ORM)
- SQLとクエリビルダー
- バリデーション
- .envファイルの設定値へのアクセス
- 動作環境による分岐処理
- configフォルダ配下の設定値へのアクセス
- assetヘルパーを利用したpublicフォルダへのアクセス
- storageフォルダへのアクセス
- アプリケーション名の変更
- メンテナンス
- ログイン画面(認証システム)の作成
- ログインの必須化
- ログインユーザー情報の取得
- ルートの認証化
- 本番サーバーへのデプロイ方法
- 多言語化
- csrf_field
- ファイルのダウンロード
- CSVのアップロードおよび読み込み(maatwebsite/excel)
- ページタイトルの設定
- コマンド一覧
- エラー一覧
- SQLの実行ログ出力方法
- キャッシュのクリア
- Selectの結果の最初もしくは最後に任意の値を追加する方法
- ajaxでPOST通信する際の注意点
- ソーシャルログインの実装
- セッション情報の確認
- ログイン、ユーザー登録、パスワードリセット後のリダイレクト先の変更方法
- redirectやreturn viewにメッセージを付与する方法
- クッキー(cookie)の設定と取得
- クラスの再読み込み
- csrfの有効時間を変更する方法
- View::shareを用いて共通の値を各ビューに渡す方法
- ミドルウェアを用いた処理の共通化
- Middleware内でAuth::check()などを使用する方法
- Controller以外でリダイレクトする方法
- セッションの値の取得/保存/更新/削除
- $requestの値を変更する方法
- 常時SSL化
- ページング(ページネーション)をする方法
- vue.jsとの連携
- Vue.jsと連携するSPA実行環境構築
- .envの値をvue.jsで参照する方法
- vue.jsを本番環境にリリースする方法
- could not find driver(Windows, MySQL編)
人気ページ
最近更新/作成されたページ
- 【Spring】プロパティファイルの値やjar実行時の引数を取得する方法 NEW! (2021-01-12 11:07:46)
- 1 NEW! (2020-12-30 03:50:43)
- 1 NEW! (2020-12-30 03:50:42)
- 1 NEW! (2020-12-30 03:50:42)
- 1 NEW! (2020-12-30 03:50:41)
- 1 NEW! (2020-12-30 03:50:41)
- 1 NEW! (2020-12-30 03:50:41)
- 1 NEW! (2020-12-30 03:50:41)
- 1 NEW! (2020-12-30 03:50:41)
- 1"'`-- NEW! (2020-12-30 03:50:41)
最近コメントのあったページ
- PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in ~ (2021-01-21 21:48:42)
- PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in ~ (2021-01-21 21:33:32)
- curl: (51) SSL: certificate subject name '~' does not match target host name '~' (2021-01-21 21:09:16)
- tomcatの起動/停止ログとcatalina.log/catalina.outの違い (2021-01-21 20:05:35)
- TLDによると、タグ form の属性 id は無効です (Strutsのエラー) (2021-01-21 20:05:25)
- MethodNotAllowedHttpException No message (2021-01-21 20:05:04)
- 【Laravel】Vue.jsと連携するSPA実行環境構築 (2021-01-21 20:05:03)
- 【Spring】@PropertySourceアノテーションとは (2021-01-21 20:04:18)
- 【Spring】@Modifyingアノテーションとは (2021-01-21 20:04:15)
- WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default' (2021-01-21 19:30:37)
最近の質問
- 質問です (2020-02-20 12:19:36)
- フリーランスの単価って高いですか? (2020-02-12 19:56:16)
- 情報系のaoを受けるつもりなんですが何かおすすめのソフトはありますか? (2020-02-12 19:54:22)
- test3 (2020-02-08 23:50:54)
- セレクトボックスのCSSのcontentで三角の部分が押せない (2019-07-03 13:06:10)
- GCPのwp-config.phpでpermission denied (2019-06-05 20:04:08)
- Spring FrameworkのEntityのカラム名の大文字小文字、アンスコについて (2019-02-01 07:13:49)
- PHP(Laravel)からPythonのプログラムを呼び出したいのですがどうすればよいでしょうか。 (2018-12-06 06:26:57)
- djangoを本番環境にデプロイしたいのですがどのレンタルサーバー or VPSサーバーがよいですか (2018-12-01 12:04:18)
- Django administrationのUsernameとPasswordについて (2018-11-30 11:55:20)
- Google Adsenseでアダルトコンテンツと誤認されてしまいました。 (2018-09-09 17:15:36)
- Google MapsをUnityで使用する方法&料金 (2018-08-28 02:37:26)
- Amazon PA-APIのSort=salesrankが効かない (2018-07-21 08:54:25)
- 楽観ロックと悲観ロックの違い (2018-01-11 05:05:33)
- レンタルサーバーって沢山ありますけどどこがいいでしょうか?AWSってどうなんですか? (2018-01-09 10:03:20)
- ディープラーニングのライブラリってどれがオススメですか? (2018-01-06 05:15:40)
- Webスクレイピングってどこまでが違法なんでしょうか? (2018-01-06 05:09:08)
- 人工知能(AI)、機械学習、ディープラーニングの違い (2018-01-06 02:40:44)
コメントを削除してもよろしいでしょうか?
No.11 |
guest
| 2020-03-24 21:28:13
Methadone Clinic Near Me Alcohol Rehab Centers <a href="http://aaa-rehab.com">Drug Rehab Near Me</a> Drug Rehab Near Me Drug Treatment Rehab http://aaa-rehab.com JamesTopNo.10 |
guest
| 2019-12-28 04:03:06
Astonishingly user friendly site. Immense information readily available on few clicks on. homemade ways to remove wrinkles femin plus gdzie kupic atrafen opinions femin plus opinioni what does the morning erection result from http://baraita.net/vialafil/No.9 |
guest
| 2019-12-21 22:44:47
say thanks to a lot for your web site it aids a lot. http://potencja-tabletki.eu/ http://tratarea-impotentei-ro.eu/zevs.html http://rezeptfreiepotenzmittel2017.ovh/deseo.html http://penisverlangerung-pillen-de.eu/Phyton-Gel.html http://rezeptfreiepotenzmittel2017.ovh/ http://www.szybkie-odchudzanie-tabletki.eu/dlaczego-najskuteczniejsze-tabletki-na-odchudzanie-sa-takie-drogie/No.8 |
guest
| 2019-12-18 22:45:40
I merely wanted to provide you with a quick heads up! Besides that, fantastic site! https://www.ernest.caNo.7 |
guest
| 2019-12-06 01:25:12
It is appropriate time to make a few plans for the future and it is time to be happy. http://www.octeaujoaillier.comNo.6 |
guest
| 2019-12-01 07:49:00
Great article! Thank you :) http://www.heysenpai.com/blog/62280/entrepreneur-general-longueuil/No.5 |
guest
| 2019-11-27 15:05:18
I am sure this article has touched all the internet users, its really really pleasant piece of writing on building up new blog https://checkersmoda.comNo.4 |
guest
| 2019-11-26 14:07:21
It?s the best time to make some plans for the long run and it is time to be happy. http://www.octeaujoaillier.comNo.3 |
guest
| 2019-11-17 13:56:37
around regret cheap viagra online without prescription direct replacement new cut [url=http://www.vagragenericaar.org/]cheap viagra usa without prescription[/url] super tour however town http://www.vagragenericaar.org/ tonight bill http://www.vagragenericaar.org/No.2 |
guest
| 2019-10-24 17:08:57
Hey very interesting blog! https://Www.Standardoysterco.com/No.1 |
guest
| 2019-05-05 08:06:10
Hi there friends, fastidious paragraph and nice arguments commented at this place, I am genuinely enjoying by these. http://www.se7Enbites.com/