Ich habe für eine Weile CakePHP benutze und ich noch nicht wirklich verstehen, was in /Lib
vs /Plugin
vs /Vendor
gehen sollte. Ich weiß, dass Plugins im Grunde Mini-Apps mit ihren eigenen Controllern usw. sind. Aber es gibt viele Situationen, in denen alle drei als ok erscheinen. Könnte jemand etwas Licht darauf werfen?CakePHP: Was/Lib vs/Vendor vs/Plugin geht in sollte
Antwort
Lib
Enthält 1. Party-Bibliotheken, die von dritten Parteien oder externen Lieferanten nicht kommen. Auf diese Weise können Sie die internen Bibliotheken Ihrer Organisation von den Herstellerbibliotheken trennen.
Plugin
Enthält plugin Pakete.
Anbieter
Allfällige Dritt Klassen oder Bibliotheken hier platziert werden soll. Dies erleichtert den Zugriff über die Funktion App :: import ('Hersteller', 'Name'). Keen Beobachter werden bemerken, dass dies redundant scheint, wie es auch einen Lieferanten-Ordner auf der obersten Ebene unseres Verzeichnisses Struktur gibt. Wir werden auf die Unterschiede zwischen den beiden eingehen, wenn wir die Verwaltung mehrerer Anwendungen und komplexerer System-Setups besprechen.
Quelle: http://book.cakephp.org/2.0/en/getting-started/cakephp-folder-structure.html
weiter Um zu klären, ist Lib
für Bibliotheken empfohlen, die Sie selbst schreiben. Dies können nur ein paar Klassen oder ganze Bibliotheken sein. Vendor
wird für Bibliotheken oder Skripts empfohlen, die Sie beispielsweise von github herunterladen können. Plugin
ist ausschließlich für cakephp Framework Plugins.
In Bezug auf Lib
vs Vendor
für Ihre eigenen Skripte oder 3rd Party Skripte gibt es keinen Unterschied, den ich kenne. Ich habe meine eigenen Skripte sowohl in Skripten von Drittanbietern als auch von Drittanbietern an beiden Orten installiert und es hat keinen Unterschied gemacht. Es ist nur eine empfohlene Methode, um Ihre Dateien zu organisieren.
Sie können Ihre Skripte von Lib
oder Vendor
mit App::import()
laden, was dasselbe ist wie require_once()
. Um Framework-Dateien oder eigene Skripte zu laden, die den CakePHP-Konventionen folgen, würden Sie App::uses()
verwenden. Dies verwendet die Pfade, die mit App::path()
oder App::build()
definiert wurden, um die Dateien zu finden.
Danke! Ich denke, der Unterschied ist viel klarer. Würde es Ihnen etwas ausmachen, ein paar Worte über die Implikationen der Wahl von/Lib vs/Vendor hinzuzufügen? Zum Beispiel wird auf Sachen in Vendor mit 'App :: import()' zugegriffen, während Lib-Sachen scheinbar 'App :: uses()' und einige andere Konfigurationen benötigen. Ich bin sicher, dass es einen guten Grund gibt, warum sie anders umgesetzt werden, aber es ist für mich nicht offensichtlich. – emersonthis
Nicht offensichtlich. Es erscheint überflüssig, beides zu haben. Vor allem beim Zugriff auf Dateien in Lib und Vendor ist völlig anders. – zmonteca
- 1. Cakephp geht auf falschen Weg
- 2. CakePHP/CakePHP 2.4 App
- 3. Uib Tooltip sollte erscheinen, während die Maus darüber geht
- 4. Komponententest in CakePHP?
- 5. Wenn ich auf den Login-Button klicke, geht es direkt in den anderen Teil von cakephp
- 6. Wie geht das in LINQ?
- 7. CakePHP JsonView
- 8. Fehlende Abmeldeseite in Sicht/Benutzer in CakePHP
- 9. Dynamische Tabellenerstellung in CakePHP
- 10. Force-JSON-Antwort in CakePHP
- 11. Funktion in CakePHP validieren
- 12. $ ajax-> senden geht nicht zum Controller
- 13. Count enthalten in CakePHP 3
- 14. Autoconf - Wohin geht config.h?
- 15. Wie sollte ich eine TCP-Socket-Verbindung wiederherstellen, nachdem das iPhone in den Ruhezustand geht
- 16. Mehrstufige Modellassoziationen in CakePHP
- 17. Variablennamenskonventionen in CakePHP
- 18. HABTM-Formularvalidierung in CakePHP
- 19. Core.php in CakePHP 3
- 20. mit Transaktionen in CakePHP
- 21. Mehrere Beziehungen in CakePHP
- 22. wie in CakePHP
- 23. Formatierungsdatum Zeichenfolge in CakePHP
- 24. base_url in CakePHP
- 25. Formular einreichen in CakePHP
- 26. Refresh-Formular in CakePHP
- 27. Mehrere Punkte in CakePHP
- 28. rekursive Funktion in CakePHP
- 29. in cakephp 3
- 30. Wie Array in cakephp
http://stackoverflow.com/questions/24261432/how-to-use-common-function-in-helper-and-component-in-cakephp – trante