示例#1
0
 public function testSetGetActions()
 {
     $action1 = new CreationAction();
     $action2 = new Injector();
     $action1->setCallback(function ($object) {
         var_dump($object);
     });
     $action2->setMethodName('amethod');
     $actions = array($action1, $action2);
     $this->descriptor->setActions($actions);
     $this->assertEquals(array($action1, $action2), $this->descriptor->getActions());
 }
示例#2
0
 /**
  * @return ActionInterface[]
  */
 public function getActions()
 {
     if (self::$queue->contains($this)) {
         return array();
     }
     self::$queue->attach($this);
     $actions = $this->actions;
     if (is_array($this->interfaces)) {
         /** @var $interface Descriptor */
         foreach ($this->interfaces as $interface) {
             $actions = array_merge($interface->getActions(), $actions);
         }
     }
     if ($this->parent instanceof Descriptor) {
         $actions = array_merge($this->parent->getActions(), $actions);
     }
     self::$queue->detach($this);
     return $actions;
 }