/** * */ protected function instanciate() { $annotationDispatcher = new AnnotationsDispatcher($this, $this->getClass(), $this->getSphringEventDispatcher()); $classReflector = new \ReflectionClass($this->class); if (empty($this->constructor)) { $this->object = $classReflector->newInstance(); $annotationDispatcher->dispatchAnnotationClassInstantiate(); return; } $constructor = $this->constructor; if (!empty($this->extend)) { $constructor = array_merge($this->extend->getConstructor(), $constructor); } $this->object = $classReflector->newInstanceArgs($constructor); $annotationDispatcher->setMethodArgs($constructor); $annotationDispatcher->dispatchAnnotationClassInstantiate(); }