public function exportType(Type $type) { if (array_key_exists($tn = $type->getName(), $this->casts)) { return $this->casts[$tn]; } // Explicit Interface in der Type-Klasse selbst if ($type instanceof DoctrineExportableType) { // keinen dynamischen cache einbauen für z.b. DCEnumType, // wir machen den ganz aus, denn der performance overhead sollte minimal sein return $type->getDoctrineExportType(); } throw new TypeExportException(sprintf("Es konnte kein DoctrineExportType für: '%s' gefunden werden. Dieser Typ sollte \\Webfoge\\Types\\DoctrineExportableType implementieren.", $tn)); // YAGNI? }