Ziele und DesignKonventionen für KlassennamenUm das Autoloaden im Zend Framework zu verstehen, muss man zuerst die Abhängigkeit zwischen Klassennamen und Klassendateien verstehen. Zend Framework hat sich eine Idee von » PEAR geborgt wobei Klassennamen eine 1:1 Beziehung zum Dateisystem haben. Einfach gesagt, der Unterstrich ("_") wird durch einen Verzeichnis Separator ersetzt um den Pfad zur Datei aufzulösen, und anschließend wird der Suffix ".php" hinzugefügt. Zum Beispiel würde die Klasse "Foo_Bar_Baz" mit "Foo/Bar/Baz.php" auf dem Dateisystem korrespondieren. Die Annahme ist auch, das die Klassen über PHP's include_path Einstellung aufgelöst werden kann, welche es sowohl include() als auch require() erlaubt den Dateinamen über einen relativen Pfad Lookup im include_path zu finden. Zusätzlich, bei PEAR wie auch im » PHP Projekt, verwenden und empfehlen wir die Verwendung eines Hersteller oder Projekt Präfixes für den eigenen Code. Was das bedeutet ist, dass alle Klassen die man schreibt den gleichen gemeinsamen Klassenpräfix teilen; zum Beispiel hat jeder Code im Zend Framework den Präfix "Zend_". Diese Namenskonvention hilft Namenskollisionen zu verhindern. Im Zend Framework referieren wir hierzu oft als "Namespace" Präfix; man sollte darauf achten das man dies nicht mit PHP's nativer Namespace Implementation verwechselt. Zend Framework folgt diesen einfachen Regeln intern, und unser Coding Standard empfiehlt dass man dies in jedem Bibliotheks Code macht. Autoloader Konventionen und DesignZend Framework's unterstützung für das Autoloaden, welche primär über Zend_Loader_Autoloader angeboten wird, hat die folgenden Ziele und Design Elemente:
|