/** * @param string $name FQN Name der Function/Methode * @param GParameter[] $parameters * @param string|array $body ist body ein array wird jeder Eintrag als string und als Zeile des Bodys ausgewertet */ public function __construct($name = NULL, array $parameters = array(), $body = NULL) { parent::__construct(); if ($name != NULL) { $this->namespace = Code::getNamespace($name); $this->name = Code::getClassName($name); } foreach ($parameters as $parameter) { $this->addParameter($parameter); } if (is_array($body)) { $this->setBodyCode($body); } elseif ($body != NULL) { $this->setBody($body); } }
/** * * Wenn ein string übergeben wird, wird nie geprüft ob es die Klasse gibt sondern direkt ein Objekt mit * der neuen klasse angelegt * * @param string|ReflectionClass $class FQN der Klassenname oder eine ReflectionClass von der analysiert werden soll, kann leer sein aum ein leeres Objekt zu erstellen */ public function __construct($class = NULL) { parent::__construct(); if ($class instanceof ReflectionClass) { $this->elevate($class); } elseif ($class instanceof GClass) { $this->setName($class->getFQN()); } elseif (is_string($class)) { $this->setName($class); } }