ホームページ  >  記事  >  バックエンド開発  >  Laravelビュー間の共有データとビューComposer_phpの例の詳細な説明

Laravelビュー間の共有データとビューComposer_phpの例の詳細な説明

WBOY
WBOYオリジナル
2016-08-17 13:02:371217ブラウズ

1. ビュー間でデータを共有する

単一のビューで指定されたデータを渡すことに加えて、すべてのビューで同じデータを渡す必要がある場合があります。つまり、異なるビューでデータを共有する必要があります。これを実現するには、ビュー ファクトリの share メソッドを使用する必要があります。

グローバル ヘルパー関数viewresponse类似,如果传入参数,则返回IlluminateViewView实例,不传入参数则返回IlluminateViewFactory实例。所以我们可以通过在服务提供者的bootメソッドは、次のメソッドを使用してビュー間でデータを共有します:

リーリー

では 2 つのルートを定義します: routes.php

リーリー
次に、

でファイルを表示します。内容は次のとおりです: resources/views目录下创建一个home.blade.php

リーリー
別の

ビューファイルを作成します: hello.blade.php

リーリー
ブラウザで

の値に個別にアクセスします。 http://laravel.app:8000/testViewHellohttp://laravel.app:8000/testViewHome,则都能解析出$sitename

2. コンポーザーを表示

ログインしているユーザー情報など、ビューがレンダリングされるたびに特定のデータをビューにバインドする必要がある場合があります。この場合、View Composer は、ビュー ファクトリのコンポーザー メソッドを通じて実装されます。このメソッドの 2 番目のコールバック パラメーターは、コントローラー アクションとクロージャー関数に基づく 2 つのメソッドをサポートします。

簡単にするために、引き続き

に基づいており、別個の AppServiceProviderサービスプロバイダー を作成しません。ここではクロージャーパラメーターを渡します (コントローラーアクションはビュードキュメントを参照します)。 リーリー

変更
ファイルを表示:

hello.blade.php {{$sitename}} へようこそ!

リーリー

ブラウザで
アクセス
すると、出力内容は以下の通りです:

http://laravel.app:8000/testViewHello リーリー

複数のビューにデータを渡すこともできます:

リーリー

すべてのビューでも (ワイルドカード * を使用):

リーリー

上記は、Laravel ビューとビュー Composer 間のデータ共有の詳細です。この記事が Laravel を学習するすべての人に役立つことを願っています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。