senäh

17senäh und so…

Zend Framework Artikelbild

Zend Framework
27. Dez 2011
Kommentare: 0

Zend Framework: Autoloader mit einer Zeile Code initialisieren

Kategorien: Zend Framework | 27. Dez 2011 | Kommentare: 0

Der Autoloader des Zend Framework ist ein sehr geniales Teil. Dank ihm kann man auf das obligatorische require_once() am Anfang jeder Datei im application-Ordner verzichten. Er erkennt, wenn eine Datei geladen werden muss, damit ein Entwickler sich darum keine Sorgen machen braucht. It just works.

Bisher wurde der Autoloader immer so oder so ähnlich in einer eigenen Funktion innerhalb der Bootstrap.php initiert:

$loader = new Zend_Application_Module_Autoloader(array(
	'namespace' => 'Application_',
	'basePath' => APPLICATION_PATH,
));

Eigenen Namespace verwenden

Statt dem hier gewählten default-namespace Application_ kann man natürlich auch einen eigenen angeben. Würde dann so hier aussehen:

$loader = new Zend_Application_Module_Autoloader(array(
	'namespace' => 'MeinGeilerNamespace_',
	'basePath' => APPLICATION_PATH,
));

Ein Model, das vom Autoloader automatisch erkannt würde, hieße dann beispielsweise MeinGeilerNamespace_Model_IrgendeinModelName. Logisch, ne?

application.ini mit einer Zeile statt Bootstrap.php mit 6 Zeilen

Da ich aber meist nur den stinknormalen Application-Namespace verwende, habe ich mich gefragt, ob das nicht einfacher zu realisieren ist. Das Halten an Konventionen sollte eigentlich dafür sorgen, dass solche Vorgänge einfacher werden. Und ich sollte recht behalten.

Statt den oben aufgeführten Zeilen in der Bootstrap.php kann man einfach folgende Zeile in die application.ini schreiben:

appnamespace = "MeinGeilerNamespace"

Hammer, ne? 😉

Autor: Enno

Ich bin Enno. PHP ist mein Ding, aber auch alles Neue rund um die Themen HTML5, CSS3 & Co finde ich interessant. Ich mag es Leuten zu helfen und mein Wissen weiterzugeben. Sollte dir mein Beitrag gefallen haben, lass doch nen Kommentar da oder benutze einen der Social Buttons, um deinen Dank auszudrücken ;)