[TYPO3-german] namespaces in 6.1

Philipp Gampe philipp.gampe at typo3.org
Mon May 20 15:13:44 CEST 2013


Hi Georg Ringer,

Georg Ringer wrote:

> wenn du selbst mit Namespaces arbeitest, musst du den PFad beachten,
> Namepaces sind relativ, dh du brauchst zB \GeneralUtility:: oder
> \t3lib_div::...

Nicht ganz ... also \t3lib_div ist richtig, da t3lib_div im globalen 
Namesraum (\) liegt.

Wenn du GeneralUtility verwenden willst, dann musst du entweder den vollen 
Namespace angeben:
\TYPO3\CMS\Core\Utility\GeneralUtility
oder du schreibst unterhalb deines namespace \foo\bar Eintrages, jedoch vor 
deine Klasse ein
use \TYPO3\CMS\Core\Utility\GeneralUtility;

Dann kannst du in deiner Klasse einfach GeneralUtility (ohne Backslash) 
schreiben, da du jetzt den Namespace für PHP bekannt gemacht hast.

Du kannst auch
use \TYPO3\CMS\Core\Utility\GeneralUtility as GU;
oder ganz abgefahren
use \TYPO3\CMS\Core\Utility\GeneralUtility as t3lib_div
schreiben.
Dann kannst du im Code GU::makeInstance verwenden.



Der unnötige vollständig qualifizierte Namespace in PhpStorm sagt eigentlich 
nur, dass du einen Teil des Namespaces unnötiger Weise verwendest.
Wenn dein Namespace \foo\bar ist und du \foo\bar\baz verwendest, dann kannst 
du auch einfach baz schreiben, da du ja bereits innerhalb von \foo\bar bist.

Extensions sollte übrigens nicht \TYPO3\CMS\xzy verwenden, sondern 
\Vendor\Extensionkey, also so etwas wie
\OrgExample\mysuperextension\ oder
\Firmenname\firmenextension\ 

Grüße
-- 
Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln
Documentation – Active contributor TYPO3 CMS
TYPO3 .... inspiring people to share!



More information about the TYPO3-german mailing list