您的位置:首页 > 编程语言 > PHP开发

[李景山php]每天laravel-20160906|Dispatcher-6

2016-06-23 09:01 609 查看
/**
* Broadcast the given event class.
*
* @param  \Illuminate\Contracts\Broadcasting\ShouldBroadcast  $event
* @return void
*/
protected function broadcastEvent($event)
{// why use this function name is broadcast
// event class means event instance
if ($this->queueResolver) {// use this queueResolver function
$connection = $event instanceof ShouldBroadcastNow ? 'sync' : null;// determine this instance about

$queue = method_exists($event, 'onQueue') ? $event->onQueue() : null;// determine method_exits

$this->resolveQueue()->connection($connection)->pushOn($queue, 'Illuminate\Broadcasting\BroadcastEvent', [
'event' => serialize(clone $event),
]);// good look bad use ,maybe
}
}

/**
* Get all of the listeners for a given event name.
*
* @param  string  $eventName
* @return array
*/
public function getListeners($eventName)
{// Get all of the listeners for a given event name.
$wildcards = $this->getWildcardListeners($eventName);// get the wild card by eventsName use this function ,that name is cardlisters
// first use eventName
if (! isset($this->sorted[$eventName])) {
$this->sortListeners($eventName);// use this sort Listeners
}// if isset eventsName never be sort ,

return array_merge($this->sorted[$eventName], $wildcards);// array_merge
}

/**
* Get the wildcard listeners for the event.
*
* @param  string  $eventName
* @return array
*/
protected function getWildcardListeners($eventName)
{
$wildcards = [];// getWildcardListeners() set the listener

foreach ($this->wildcards as $key => $listeners) {// foreach $this->wildcards as key
if (Str::is($key, $eventName)) {// determine is a str
$wildcards = array_merge($wildcards, $listeners); // get the array_merge
}
}

return $wildcards;
}
// first get listener,second get the wildcard listener
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  return determine function