Zend Framework composer autoload
Habe ich PHP-Projekt mit den folgenden Anbietern Verzeichnis-Struktur:
vendor
zendframework
zendframework
library
Zend
...
...
Cache
...
...
Wenn ich die folgende Zeile in autoload_namespaces.php everythins ist ok:
'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/',
aber diese Zeile funktioniert nicht:
'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/Zend/Cache/',
Der Fehler ist:
Fatal error: Class 'Zend\Cache\Storage\Adapter\MemcachedOptions' not found
Was ist falsch an meinem code? Wie kann ich laden, nur-Cache-Modul aus dem zend framework? Warum funktioniert es, wenn ich angeben gesamten library-Ordner?
- Was versuchen Sie zu tun? Klassen werden auf Abruf geladen, wird Ihr Antrag nur laden von Klassen, die verwendet werden. Die
autoload_namespaces.php
- Datei automatisch generiert wird, die der Komponist, sollten Sie nicht Bearbeiten. - Ich versuche es mal mit MemcachedOptions() Klasse:
$options = new \Zend\Cache\Storage\Adapter\MemcachedOptions();
und diese Zeile löst einen Fehler. - Vorausgesetzt, man installiert das Zend-Framework mit Komponisten, es sollte eine
Zend\` entry in
autoload_namespaces.php`. Das ist alles, was Sie brauchen, nichts anderes ändern. Wenn es nicht vorhanden ist, installieren Sie ZF mit Komponisten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zend Framework 1.x können installiert werden mit dem Komponisten.
Hinzufügen:
"require": {
"zendframework/zendframework1": "1.*"
},
Ihrer Komponisten.json
Und tun, composer installieren von der Befehlszeile aus.
Dies wird zend framework heruntergeladen und das setup der Bibliothek zu laden und mit allem anderen Komponisten ist die Verwaltung.
Um Ihre zend framework-app zur Nutzung der composer autoloader müssen Sie Bearbeiten Ihre Anwendungen index.php Datei, und schließen Sie den composer autoloader so: