からの変数は、私は次のように私のコードは、ユーザーが特定のページにアクセスし、特に場合は、イベントを処理するためにlaravelを使用していなさい:新しいイベントLaravel
これは私のPageControllerである:最後
public function showTestPage()
{
//This "redirect to" method is so i don't have to rewrite the event
for every method that returns a new view;
$this->redirectTo('test');
}
public function redirectTo($page)
{
//This is the data i want to access from my UserAccessedPage Listener
event(new UserAccessedPage($page));
return view($page);
}
ここで私のUserAccessedPageリスナーです:
クラスLogUserAccessedPage {
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
}
/**
* Handle the event.
*
* @param UserAccessedPage $event
* @return void
*/
public function handle(UserAccessedPage $event)
{
Log::create([
'info' => "User ". ucfirst(Auth::user()->name) . " Accessed Page " . Carbon::now()->format('H:i:s'),
'user' => ucfirst(Auth::user()->name),
'object_affected' => Auth::user()->id,
'ip_address' => '',
'time' => Carbon::now()->format('H:i:s'),
'date' => Carbon::now()->format('Y-m-d')
]);
}
}
私はそれを私のリスナーに与えて、Log :: create(['info' => $ page])に入れることができますか?セッターとゲッターを使用してみてください
protected $listen = [
'App\Events\UserLoggedIn' => [
'App\Listeners\LogUserLoggedIn',
],
'App\Events\UserLoggedOut' => [
'App\Listeners\LogUserLoggedOut',
],
'App\Events\UserAccessedPage' => [
'App\Listeners\LogUserAccessedPage',
],
];
「UserAccessedPage」のコードを表示できますか? – user3158900
@ user3158900確か2秒 –
$ listenプロパティのApp \ Providers \ EventServiceProviderマッピングで定義しましたか?イベント=>リスナーですか? – Adiasz