Hallo Chris,

also, der Namespace wird ja immer am Anfang von einer Klasse definiert:

<?php
namespace BK2K\BootstrapPackage\ViewHelpers;

class MyViewHelper {
}

?>

Woher weiß jetzt TYPO3, wo die Klasse zu Finden ist? Wenn man sich die Methode buildClassLoadingInformationForClassByNamingConvention() in der Klasse typo3/sysext/core/Classes/Core/ClassLoader.php anschaut, sieht man, wie es gemacht wird:

Der vollständige Klassenname wird anhand der Backlashes aufgeteilt. Der erste Teil (der sogenannte Vendor Namespace) wird dann zunächst ignoriert. Der zweite Teil ist der Extension Name, der von CamelCase zu lower_underscored umgewandelt wird, um den Namen der Extension herauszufinden: BootstrapPackage => bootstrap_package

Die restlichen Teile des Klassennamens müssen dann den Verzeichnis- bzw. Dateinamen innerhalb des Classes Verzeichnisses entsprechen, im oben beschriebenen Fall also: bootstrap_package/Classes/ViewHelpers/MyViewHelper.php

Ich hoffe ich konnte etwas Klarheit bringen :)

Viele Grüße,
Alex

--
Alexander Stehlik
alexander.steh...@gmail.com
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an