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'));
    }
  }
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