LaravelのPHPの職人のルートで認証::ユーザー()オブジェクトを設定するためのより良い方法は何です:私たちは認証::コントローラのコンストラクタでは、ユーザ()はLaravelコントローラのコンストラクタ
ときのインスタンスを作成するとき、リストが例外をスローしますphp artisan route:listを実行すると、Laravelはミドルウェアを宣言しているかどうかを確認するためにすべてのコントローラをインスタンス化します。これは通常、middleware()メソッドの呼び出しによってコンストラクタで行われます。この時点ではユーザセッションは存在しないため、Auth :: user()は何も返しません。非オブジェクトのnameプロパティにアクセスしようとするとエラーが発生します。
例:
class settingController extends Controller
{
protected $user;
public function __construct(ImageRepo $image)
{
$this->user = Auth::user();
$this->image = $image;
}
......
例外
C:\laragon\www\water2>php artisan route:list -v
[Symfony\Component\Debug\Exception\FatalErrorException]
Cannot use Illuminate\Contracts\Auth\Authenticatable as Authenticatable because the name is already in use
ユーザーオブジェクトを格納するための良い方法は何ですか?あなたは、アクションメソッドでそれを行う、コンストラクタでユーザーオブジェクトにアクセスするべきではありませんjedrzej.kurylo @
リファレンス
I get the error in php artisan route:list command in laravel?
。
どのようにですか?
がファサードを使用していけない、認証契約 '(名前空間の\のAuth $ AUTH)' '、その後の$ this - >ユーザー= $認証を注入;' –