/** * Factory depuis une reflection * * @param ReflectionParameter $reflection * @return static */ public static function fromReflection(ReflectionParameter $reflection) { // VALUE $value = $reflection->isDefaultValueAvailable() ? $reflection->getDefaultValue() : Maker::NO_VALUE; // TYPE $type = $reflection->getTypeHint(); // analyse du type if (!is_null($type)) { if ($type instanceof Object_) { $type = strval($type->getFqsen()); } elseif ($type instanceof Array_) { $type = 'array'; } else { exc('Impossible de determiner le type du paramètre : ' . $reflection->getName()); } } // construction $parameter = new static($reflection->getName(), $value, $type); return $parameter; }
/** * {@inheritDoc} */ public function getDefaultValue() { return $this->betterReflectionParameter->getDefaultValue(); }