Пример #1
0
 /**
  * Creates a type object for given type name
  * @param string|ReflectionClass $typeName
  * @return ezcReflectionType
  * @todo ArrayAccess stuff, how to handle? has to be implemented
  */
 public function getType($typeName)
 {
     if ($typeName instanceof ReflectionClass) {
         return new ezcReflectionObjectType($typeName);
     }
     $typeName = trim($typeName);
     if (empty($typeName)) {
         return null;
     } elseif ($this->mapper->isScalarType($typeName) or $this->mapper->isSpecialType($typeName)) {
         return new ezcReflectionPrimitiveType($typeName);
     } elseif ($this->mapper->isArray($typeName)) {
         return new ezcReflectionArrayType($typeName);
     } elseif ($this->mapper->isMixed($typeName)) {
         return new ezcReflectionMixedType($typeName);
     } else {
         // otherwhise it has to be a class name
         return new ezcReflectionObjectType($typeName);
     }
 }