2010-03-08 4 views
7

Die Frage ist ganz einfach: Ich habe ein Controller-Plugin für Zend Framework.Wohin man Plugins in eine Zend Framework Website einfügt

Sollte ich es in den Ordner "Bibliothek/Plugin" oder in "Anwendung/Plugins".

(btw für jetzt ist es in der Bibliothek/Plugin, aber das funktioniert unter Linux und Mac OS X, aber nicht von Windows so dachte ich vielleicht ist das nicht der richtige Ort)

Danke

Antwort

4

Wenn es ein controller plugin ist geht es in "application/plugins".
Wenn es ein Allzweck-Plugin ist (dh Utility Classes und so), geht es in/library/*, wobei * den Zend Loader Regeln folgt.

+0

Aber wenn mein Controller Name My_Plugin_Blah ist, wird es automatisch im Ordner "application/plugins/Blah.php" finden (kein Problem für den Modulnamen "My" obwohl es richtig konfiguriert ist) –

+0

Ok ich antworte mir selbst, autoload tatsächlich findet es in der Anwendung/Plugins –

3

ich in der Regel lege alles, was für meine Anwendung spezifisch ist, z nicht ohne Änderung in den entsprechenden Anwendungsordner wiederverwendbar.

Für generische Plugins, erstelle ich einen neuen Ordner in der Bibliothek. Dieser Ordner ist dem Zend-Bibliotheksordner nach Namen, z.B. Mein/Controller/Aktion/Helfer oder Mein/Controller/Plugin, etc. Das Hinzufügen von Inhalten ist jedoch optional, da Sie dies auch in den entsprechenden Anwendungsordner legen können. Ich mag die Unterscheidung.

Ich habe nie etwas in die Standard-Zend-Verteilung eingefügt. Dies würde beim Aktualisieren verloren gehen.

+0

Wenn ich es in Mein/Controller/Plugin einfüge, wird der Autoloader den Include-Pfad korrekt darstellen? Wie soll ich meinen Controller dann benennen? –

+0

@Matthieu Per Konvention ändert der Autoloader Unterstriche in einem Klassennamen in Schrägstriche, um Dateien im Include-Pfad zu finden. Wenn der Klassenname My_Controller_Plugin_Something lautet, versucht der Loader My/Controller/Plugin/Something.php zu laden. Im Fall von Plugins müssen Sie möglicherweise den Plugin-Broker konfigurieren. Siehe http://framework.zend.com/manual/en/zend.controller.plugins.html und http://framework.zend.com/manual/1.10/de/zend.loader.pluginloader.html – Gordon

+0

@Matthieu Eigentlich , du bist etwas vage, was du mit Plugins meinst. Ich nehme nur an, dass Sie über Controller-Plugins sprechen. Aber ich bin nicht sicher, dass Sie nicht auf Ansicht oder Aktion Helfer beziehen – Gordon