lib/Webforge/Types/Type.php
public static function create($name = NULL) {
    $c = self::expandName($name);
    
    if (is_string($c)) {
      return ClassUtil::newClassInstance($c, array_slice(func_get_args(), 1));

    } elseif ($c instanceof Type) {
      return $c;

    } else {
      throw Exception::invalidArgument(1, __FUNCTION__, $name, self::create('String'));
    }
  }
public static function create($name = NULL) {
    $c = self::expandName($name);
    
    if (is_string($c)) {
      return ClassUtil::newClassInstance($c, array_slice(func_get_args(), 1));

    } elseif ($c instanceof Type) {
      return $c;

    } else {
      throw Exception::invalidArgument(1, __FUNCTION__, $name, self::create('String'));
    }
  }
public static function create ( $ name = NULL ) { $ c = self :: expandName ( $ name ) ; if ( is_string ( $ c ) ) { return ClassUtil :: newClassInstance ( $ c , array_slice ( func_get_args ( ) , 1 ) ) ; } elseif ( $ c instanceof Type ) { return $ c ; } else { throw Exception :: invalidArgument ( 1 , __FUNCTION__ , $ name , self :: create ( 'String' ) ) ; } }
Gibt eine Instanz für einen DatenTyp zurück

Der Name darf nur für nicht abstrakte Type-Klassen weggelassen werden

Es ist möglich folgende Shorthands zu benutzen:
TypeName[] => ein Array mit dem inneren Typ mit dem namen "TypeName"
Object<Class\FQN> => ein Objekt mit dem inneren Type der Klasse "Class\FQN"

@param $name definition des Types
Gibt eine Instanz für einen DatenTyp zurück