Fluid Tipp 12: Alias Namespaces


ViewHelper Namespaces können sich ähnlich wie templateRootPaths überlagern. Das kann man z.B. sinnvoll nutzen, um verschiedene Namespaces zu kombinieren oder um ViewHelper von einem anderen Package zu bevorzugen. Dies kann man global oder auch auf Templatebasis machen. In unserem Fluid Tipp 10 ist der globale Import beschrieben.

<!-- Registering multiple namespaces with same alias -->
{namespace f=Vendor\MyFluidOverrides\ViewHelpers}
{namespace my=Vendor\MyExtensionOne\ViewHelpers}
{namespace my=Vendor\MyExtensionTwo\ViewHelpers}

Der ViewHelper-Namespace "f", der in der Fluid-Extension gesetzt wird, wird hier durch den eigenen PHP-Namespace "Vendor\MyFluidOverrides\ViewHelpers" überlagert. Alle schon in Fluid bestehenden Klassen die hier mit gleichem Namen erzeugt werden, überschreiben die entsprechende Klasse von Fluid.

Der Namespace "my" wird hier mit zwei unterschiedlichen PHP-Namespaces eingesetzt. Das bedeutet, dass man eine Art Fallback oder anders ausgedrückt, eine Überschreibung vorliegen hat. Der zweite eingesetzte PHP-Namespace "Vendor\MyExtensionTwo\ViewHelpers" dient als erste Anlaufstelle. Wird dort keine entsprechende Klasse gefunden, wird im ersten PHP-Namespace "Vendor\MyExtensionOne\ViewHelpers" nachgeschaut. Umgekehrt kann man die Schlussfolgerung ziehen, dass ViewHelper, die in beiden Namespaces vorkommen, immer vom zuletzt definierten PHP-Namespace verwendet werden.

Hat dir der Artikel gefallen?

Werkraum News:

Such­ser­ver für TYPO3 im Ver­gleich

Folgendes Problem: Der Kunde möchte eine Suche auf der Firmenwebseite haben und als TYPO3-Entwickler steht man vor der Frage, welche Suche man dem Kunden empfiehlt. Für alle,...

TYPO3camp München Location

TYPO3­camp in Mün­chen

Wie jedes Jahr fand vom 14.09. bis 16.09.2018 das TYPO3camp in München statt, und auch dieses Mal nahmen einige werkraum-Mitarbeiter daran teil. Was die TYPO3-Community...