2012-10-25 15 views
21

मैं जानना चाहता हूं कि लैरावेल कोर पुस्तकालयों द्वारा कौन सी घटनाओं को निकाल दिया जाता है। मैं पूरी सूची प्राप्त करना चाहता हूं, जैसे laravel.query और laravel.doneमुझे लैरवेल घटनाओं (कोर पुस्तकालयों द्वारा निकाल दिया गया) की पूरी सूची कहां मिल सकती है?

the official docs पर चार कार्यक्रम सूचीबद्ध हैं, लेकिन मुझे लगता है कि लैरवेल के इन चारों की तुलना में अधिक घटनाएं हैं!

उत्तर

41

Laravel वास्तव में के रूप में कई आग नहीं करता है घटनाओं के रूप में आप सोचेंगे। हालांकि यह इवेंट सिस्टम का उपयोग करता है, यह वहां डेवलपर्स के लिए वहां अनुप्रयोगों के उपयोग के लिए है। वैसे भी, यहां एक सूची है जिसे मैंने संकलित किया है।

laravel.done 
laravel.log 
laravel.query 
laravel.resolving 
laravel.composing: {viewname} 
laravel.started: {bundlename} 
laravel.controller.factory 
laravel.config.loader 
laravel.language.loader 
laravel.view.loader 
laravel.view.engine 

view.filter 

eloquent.saving 
eloquent.updated 
eloquent.created 
eloquent.saved 
eloquent.deleting 
eloquent.deleted 
eloquent.booted: {$model} 
eloquent.booting: {$model} 


500 
404 

500 और 404 दोनों त्रुटि से संबंधित घटनाओं रहे हैं। ये routes.php फ़ाइल में सेट हैं ताकि आप देख सकें कि डिफ़ॉल्ट श्रोता क्या है।

मैं यह इंगित करना चाहता हूं कि eloquent.{event} में क्लास नाम वाला एक और भिन्नता है जिसे अद्यतन किया जा रहा है।

eloquent.{event}: {classname} 

मैं यह नहीं कहूंगा कि यह बिल्कुल सब कुछ है लेकिन यह कम से कम 99% होना चाहिए।

+1

यह ध्यान देने योग्य है कि 5.4 के अनुसार, उपर्युक्त में से कुछ का नाम बदल दिया गया है या हटा दिया गया है। मैं 'laravel.done' घटना के समान कुछ ढूंढ रहा था लेकिन किसी दस्तावेज़ को खोजने के लिए संघर्ष किया। मैं बस * * 'के साथ सभी घटनाओं के बारे में सुनना चाहता हूं और उपलब्ध होने के लिए महसूस करने के लिए ईवेंट प्रेषक उदाहरण को लॉग इन करना चाहता हूं। – Bower

3

यहाँ, जबकि डंपिंग static::$events

laravel.config.loader 
laravel.view.loader 
laravel.language.loader 
laravel.view.engine 
404 

वास्तव में सुनिश्चित नहीं हैं कि अगर अधिभावी इन काम करेगा, उनमें से अधिक कुछ ही रहे हैं उन्हें मिल गया के रूप में वे आंतरिक रूप से कहा जाता है

+0

आप वास्तव में इन के लिए सुनने और अपने स्वयं के कस्टम लोडर परिभाषित कर सकते हैं। यह बहुत अच्छा है अगर आप विन्यास/दृश्य/भाषा फ़ाइलों के लिए एक कैस्केडिंग लोडिंग सिस्टम चाहते हैं। मैंने कभी-कभी ऐसा किया है। –

18

पर सूची jasonlewis जांच कर सकते हैं जेसन लुईस जवाब देने के लिए इसके अलावा, मैं कुछ और अधिक जोड़ने के लिए है। मैं बस fire() समारोह के लिए खोज की है और Laravel 5 के लिए निम्न सूची के साथ आया था,

$this->events->fire('auth.attempt', $payload); 
$this->events->fire('auth.login', [$user, $remember]); 
$this->events->fire('auth.logout', [$user]); 
$this->events->fire('cache.'.$event, $payload); 
$this->laravel['events']->fire('cache:clearing', [$storeName]); 
$this->laravel['events']->fire('cache:cleared', [$storeName]); 
$events->fire('artisan.start', [$this]); 
$this->events->fire('illuminate.query', array($query, $bindings, $time, $this->getName())); 
$this->events->fire('connection.'.$this->getName().'.'.$event, $this); 
$this['events']->fire('bootstrapping: '.$bootstrapper, [$this]); 
$this['events']->fire('bootstrapped: '.$bootstrapper, [$this]); 
$this['events']->fire('locale.changed', array($locale)); 
$this['events']->fire($class = get_class($provider), array($provider)); //after provider registered. 
$this->app['events']->fire('kernel.handled', [$request, $response]); 
$this->dispatcher->fire('illuminate.log', compact('level', 'message', 'context')); 
$this->events->fire('mailer.sending', array($message)); 
$this->events->fire('illuminate.queue.failed', array($connection, $job, $data)); 
$this->events->fire('illuminate.queue.stopping'); 
$this->events->fire('router.matched', [$route, $request]); 
$this->events->fire('composing: '.$view->getName(), array($view)); 
$this->events->fire('creating: '.$view->getName(), array($view)); 
+0

रोशनी \ मेल \ घटनाक्रम \ संदेश भेजना –

संबंधित मुद्दे