Mi chiedo dove mettere gli ascoltatori e gestori di eventi di Laravel. Qualcuno mi ha detto che posso metterli ovunque. Questo è quello che ho provato finora.Dove inserisco ascoltatori e gestori di eventi?
# 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',
));
Grazie, ha funzionato per me! – Strernd
+1 Bel suggerimento. Tuttavia, mi chiedo se ci sia un'altra alternativa interessante ... magari creando una cartella "app/listener" per gli ascoltatori di Class ...? E aggiungendo 'app_path(). '/ Listener',' a 'ClassLoader :: addDirectories (array (' a 'app/start/global.php' ...? –
Penso che funzionerebbe per i gestori, ma dal momento che il gli ascoltatori non sono in realtà delle classi, non penso che verranno mai caricati? –