コード例 #1
0
ファイル: Builder.php プロジェクト: kangkot/bldr
 /**
  * @param TaskInterface  $service
  * @param TaskDefinition $task
  *
  * @return TaskInterface
  */
 private function prepareServiceForTask(TaskInterface $service, TaskDefinition $task)
 {
     $this->dispatcher->dispatch(Event::PRE_INITIALIZE_TASK, new Event\PreInitializeTaskEvent($service));
     if ($service instanceof AbstractTask) {
         $service->configure();
     }
     if (method_exists($service, 'setEventDispatcher')) {
         $service->setEventDispatcher($this->dispatcher);
     }
     if (method_exists($service, 'setHelperSet')) {
         $service->setHelperSet($this->helperSet);
     }
     foreach ($task->getParameters() as $name => $value) {
         $service->setParameter($name, $value);
     }
     if (method_exists($service, 'validate')) {
         $service->validate();
     }
     return $service;
 }