でそれらを使用します。渡すデータと、私は私のすべてのビューにデータを渡すために、このマニュアルを参照して続いてきたルート
https://laravel.com/docs/5.2/views#sharing-data-with-all-views
しかし、それは私が私の中の変数にアクセスすることはできません。 routesファイル。
どのように変数をすべてのビューに渡し、自分のルートのすべてのルートファイルで変数を使用できるようにすることができますか?
でそれらを使用します。渡すデータと、私は私のすべてのビューにデータを渡すために、このマニュアルを参照して続いてきたルート
https://laravel.com/docs/5.2/views#sharing-data-with-all-views
しかし、それは私が私の中の変数にアクセスすることはできません。 routesファイル。
どのように変数をすべてのビューに渡し、自分のルートのすべてのルートファイルで変数を使用できるようにすることができますか?
私はあなたがセッションを使うべきだと思う(またはデータをキャッシュする)
私はセッションを使用して、ここで
では、現在のユーザーセッションに
Session::put('key', 'value');
をsomeDataがを追加するとします最良の方法だと思います
今、あなたはこの
Session::get('key');
ようなあなたのビューでこれにアクセスすることができます
そして、あなたのコントローラ/ルート内でこの方法
$value = Session::get('key');
ファイルのデータは、あなたがあなたのプロセスについて考える必要が利用できる内部のコントローラ、ルートファイルとビュー
ユーザーデータの一部が変更された場合(たとえば、ユーザーが設定を変更した場合)はどうなりますか?そのデータはキャッシュされないので、キャッシュが更新されない限り間違っていますか? – user6484209
キャッシュを使用する場合、キャッシュをクリアすることができます。インサート/アップデートなどでキャッシュをクリアするモデルオブザーバを作成することができます。セッションと同じように、ユーザが変更するたびにセッション値を更新します –
です。特定のデータをすべてのビューに渡す目的は、その値がルートまたはコントローラのアクションではなく、ビューに関連するためです。たとえば、ページのタイトルや現在の日付をページの下部に表示します。
は、あなたがやりたい Illuminate\View\ViewのAPIドキュメントを見て、あなたは機能 offsetGetと offsetSetといったが表示されますするには。ここで は例です:アプリ/プロバイダ/ AppServiceProvider.php
<?php
namespace App\Providers;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
view()->share('title', 'Qevo');
}
public function register()
{
//
}
}
リソース/ビュー/ example.blade.php
<h1>{{ $title }}</h1>
アプリ/ Http/routes.php
Route::get('/test', function() {
// view has to be created for shared data to be set
$v = view('example');
// get the value of the shared data
$page_title = $v->offsetGet('title');
// set a new value
$v->offsetSet('title', $page_title . ' helps');
return $v;
});
あなたがしようとしていることの例を教えてください。あなたは何を試しましたか? – James