Zastanawiam się, gdzie umieścić Laravel Event Listeners i Handlers. Ktoś mi powiedział, że mogę je umieścić wszędzie. To właśnie próbowałem do tej pory.Gdzie umieszczam detektory zdarzeń i procedury obsługi?
# listeners/log.php
<?php
Event::listen('log.create', '[email protected]');
# handlers/LogHandler.php
<?php
class LogHandler {
public function create(){
$character = new Character;
$character->name = "test";
$character->save();
}
}
# controllers/MainController.php
public function test(){
Event::fire('log.create');
return "fired";
}
# start/global.php
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/libraries',
app_path().'/listeners',
app_path().'/handlers',
));
Dziękuję, to zadziałało dla mnie! – Strernd
+1 Dobra sugestia. Zastanawiam się jednak, czy istnieje inna interesująca alternatywa ... może tworzenie folderu "app/listeners" dla słuchaczy klasy ...? I dodanie 'app_path(). '/ Listeners',' to' ClassLoader :: addDirectories (array ('at' app/start/global.php' ...? –
Myślę, że to działałoby dla handlerów, ale ponieważ słuchacze nie są tak naprawdę klasami, o których nie sądzę, że kiedykolwiek zostaną załadowane? –