तो मैं नई लैरवेल 5 इवेंट पद्धति का प्रयास कर रहा हूं।लार्वेल 5 इवेंट हैंडलर फायरिंग
// Events
use App\Events\KitchenStored;
class EloquentKitchen implements KitchenInterface {
public function store($input) {
$kitchen = new $this->kitchen;
$kitchen->name = $input['name'];
$kitchen->save();
\Event::fire(new KitchenStored($kitchen));
return $kitchen;
}
कौन सा सफलतापूर्वक इस ईवेंट सक्रिय:
मेरी भंडार में, मैं घटना "KitchenStored" के रूप में तो फायरिंग कर रहा हूँ
<?php namespace App\Events;
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
class KitchenStored extends Event {
use SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($kitchen)
{
$this->kitchen = $kitchen;
}
}
हालांकि, यह इस पर निर्भर नहीं जुड़ता है हैंडलर:
<?php namespace App\Handlers\Events;
use App\Events\KitchenStored;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldBeQueued;
class AttachCurrentUserToKitchen {
/**
* Create the event handler.
*
* @return void
*/
public function __construct()
{
dd('handler');
}
/**
* Handle the event.
*
* @param KitchenStored $event
* @return void
*/
public function handle(KitchenStored $event)
{
//
}
}
जो मुझे पता है क्योंकि डीडी ('हैंडलर'); अनुरोध जीवन चक्र के दौरान नहीं निकाल दिया गया है।
<?php namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider {
/**
* The event handler mappings for the application.
*
* @var array
*/
protected $listen = [
App\Events\KitchenStored::class => [
App\Handlers\Events\AttachCurrentUserToKitchen::class
]
];
/**
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
* @return void
*/
public function boot(DispatcherContract $events)
{
parent::boot($events);
Event::listen('App\Events\KitchenStored',
'App\Handlers\Events\AttachCurrentUserToKitchen');
}
}
किसी को भी बेहतर तो मैं साफ कोड मैं आज तक के साथ जा रहा रख सकते हैं इस प्रक्रिया की व्याख्या कर सकते:
मैं अपने यहां श्रोता के साथ घटना पंजीकृत किया है?
बहुत धन्यवाद
इसे अधिक ध्यान देना चाहिए। आम मुद्दा ... – AJReading
:: कक्षा नोटेशन का उपयोग करना स्वत: पूर्णता के कारण, वर्तनी त्रुटियों से परहेज करना बेहतर है। – systemovich
@systemovich omg yes ... एक श्रोता को स्थानांतरित कर दिया और यह काम करना बंद कर दिया, इस पथ को छोड़कर सभी पथों को स्वचालित रूप से दोबारा प्रतिक्रिया दी गई, इस समस्या को खोजने के लिए हमेशा के लिए लिया गया क्योंकि यह कोई त्रुटि नहीं फेंकता है –