Pada asasnya, setiap kali kaedah pengawal berjalan, saya memanggil acara:
public function destroy(User $user) { event(new AdminActivity('admin.users.destroy',class_basename(Route::current()->controller),'destroy','DELETE')); ... }
Malah ia menyimpan maklumat ini:
event(new AdminActivity(ROUTE_NAME,CONTROLLER_NAME,CONTROLLER_METHOD_NAME,CONTROLLER_METHOD_TYPE));
Sekarang saya mahu menghantar parameter yang diperlukan secara automatik dan bukannya menghantarnya secara manual.
Jadi saya perlu mendapatkan nama laluan, nama kaedah pengawal dan jenis kaedah pengawal auto (sama seperti class_basename(Route::current ()->controller)
mengembalikan nama pengawal).
Jadi apa yang perlu saya lakukan?
Anda boleh mendapatkan maklumat yang anda perlukan daripada
Route::current()
传递给事件,然后从IlluminateRoutingRoute
objekKemudian, dalam
andaAdminActivity
kelas acaraNota: Jenis pemulangan
$route->methods()
ialah tatasusunan, mengandungi semua kaedah permintaan yang sah (DAPATKAN, KEPALA, POS...)