サービスプロバイダを使用して、@extends( 'layouts.app')のすべてのビューのページで変数を設定しようとしましたが、まずは以下のコードを示します。Laravel 5.2 - ServiceProviderのブートが動作しない
AppServiceProvider
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Auth;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// Using class based composers...
view()->composer('layouts.app', function($view){
$view->with('current_user', Auth::user());
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
私は{{$のCURRENT_USER}}呼び出すページにアクセスすると、それは
ErrorException in 5a5612347179ad88a6d4ebacc5d911a184c1b4ed.php line 14:
Undefined variable: current_user (View: C:\xampp\htdocs\soyegg\resources\views\shops\edit\showroom.blade.php)
がウェブサイトで解決いくつかの質問を経て、チェックを次のエラーが表示さ以下のようになりますが、それでも失敗しました: 1. AppServiceProviderはconfig.appにあります(デフォルトはLaravel 5.2) 2. php artisan clear-compiled 3. php artisan optimize 4。 compiled.phpがあるかどうかをチェックし、それを手動でクリアしようとするが、ストレージ/フレームワークもベンダーもない。
助けてください!
おかげ代わりに、別の方法を使用することができます!とても有難い。 ワイルドカードの場合、すべてのページにそのような変数があることを意味しますか? – warmjaijai
共有メソッドを使用すると、ページは正常にロードされますが、{{$ current_user}}には値がなく、{{$ current_user-> id}}と重複してチェックされ、オブジェクト。 {{Auth :: user()}}自体がページ上で動作しているかどうかを再度確認して動作します。 – warmjaijai
ここに別の質問を追加して申し訳ありません。 $ current_user-> idを呼び出すことによって、current_userコンポーザの下にview() - > composerをもう1つ追加しようとしましたが、current_userは未定義の変数です。これを行うより適切な方法がありますか? – warmjaijai