基本的に、コントローラー メソッドが実行されるたびにイベントを呼び出します。
リーリー実際には、次の情報が保存されています:
リーリーここで、必要なパラメータを手動で渡すのではなく、自動的に渡したいと考えています。
したがって、 ルート名 、 コントローラー メソッド名 、および コントローラー メソッド タイプ auto ( class_basename(Route::current () のように) を取得する必要があります。 ->controller)
コントローラー名を返します)。
それで、どうすればいいでしょうか?
イベントに
パブリック関数 destroy(ユーザー $user) { イベント(新しいAdminActivity(\Illuminate\Support\Facades\Route::current())); ... } 次に、Route::current()
を渡して、\Illuminate\Routing\Route
オブジェクトから必要な情報を取得できます。AdminActivity
クラスAdminActivity { パブリック関数 __construct(\Illuminate\Routing\Route $route) { $controllerClass = class_basename($route->getController()); $controllerMethod = $route->getActionMethod(); $routeName = $route->getAction('as'); $methods = $route->methods(); } }イベント クラス
注: $route->methods()
の戻り値の型は、すべての有効なリクエスト メソッド (GET、HEAD、POST...) を含む配列です。