Je suis relativement nouveau à PHP et j'ai écrit un projet en utilisant ce que je crois être une architecture de fichier assez basique - tous les fichiers et sous-dossiers d'un dossier de site principal sont accédés séparément. Dans le cadre du projet, j'ai utilisé Zend Framework comme une bibliothèque plutôt qu'un framework. Je suis heureux avec Zend et l'utiliser comme ça rend les choses très faciles. Cependant, j'ai récemment commencé à redouter la maintenance et l'expansion qui pourraient être nécessaires avec le projet (quelque chose que j'aurais dû penser avant, je sais). J'ai fait un peu de recherche et j'ai cherché à utiliser le Zend MVC plutôt que la structure de base car il semble que cela aiderait à remédier à cette peur. Cependant, cela signifierait beaucoup de retour en arrière dans le projet (pas une affaire énorme, juste un peu frustrant). Ce que je me demande, c'est s'il y a d'autres raisons pour lesquelles je devrais prendre le temps de passer de la structure de base à une architecture MVC, ou s'il y a d'autres structures de fichiers que je devrais envisager?Structures de fichiers - Pourquoi utiliser (Zend) MVC?
Répondre
La première raison est que MVC s'est montré efficace pour maintenir votre code.
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
La deuxième raison, que je crois fait partie de la première, est qu'il permet aux développeurs de venir derrière vous et savent déjà ce que les bases sont. Au lieu de chercher dans votre projet et d'essayer de découvrir comment cela fonctionne, ils le savent déjà.
Je pourrais suggérer Kohana comme un bon cadre à utiliser. http://kohanaphp.com
principe de MVC est très utile. [C] ontroller récupère les données de la base de données nommée [M] odel, les modifie et les restitue à [V] iew. Dans cakephp, si vous savez quelle action avez-vous besoin d'éditer, vous savez sûrement où le chercher, l'ouvrir et le modifier. c'est sur la structure.
Je pourrais suggérer Cakephp. http://www.cakephp.org
Zend est très bon Cadre. avec beaucoup de cours.
IMHO: Mais c'est plus la bibliothèque de classe, que Framweork.
- 1. Servir des fichiers dans Zend Framework MVC
- 2. Utiliser Zend Lucene pour rechercher des fichiers PDF
- 3. Où utiliser l'outil de traduction Zend Framework
- 4. Utiliser PHPUnit dans Zend Framework version 0.7
- 5. Gérer les structures de fichiers SVN locales avec PHP
- 6. Comment utiliser les FFI de Haskell sur les structures?
- 7. Structures de données C# Question (Quelle collection utiliser?)
- 8. Utilisation de tables Zend Framework Db sans MVC
- 9. structures de répertoires C++
- 10. Comment utiliser mod_rewrite avec Zend Framework?
- 11. Zend Studio + Zend Framework
- 12. Zend Studio 7.0 + Zend Framework
- 13. Comment utiliser Zend Layout avec Zend View si j'appelle la vue d'un modèle?
- 14. Comment utiliser correctement les structures dans une classe?
- 15. Comment utiliser DLLImport avec des structures comme paramètres dans C#?
- 16. Pourquoi existe-t-il des fichiers de conception (* .designer.cs) dans ASP.NET MVC?
- 17. Zend framework mvc model et génération de rapports dynamiques
- 18. Pourquoi ne puis-je pas utiliser des membres statiques, par exemple des structures statiques, dans mes classes de VS2008?
- 19. Structures internes de CPython
- 20. Zend Navigation Menu de personnalisation pour utiliser JQuery jdmenu
- 21. Structures arborescentes
- 22. Pourquoi utiliser Prism?
- 23. Pourquoi utiliser mysqli_close()?
- 24. Pourquoi utiliser document.write?
- 25. expériences Zend Server
- 26. problème de paginateur zend
- 27. Authentification de l'utilisateur Zend Framework
- 28. tableaux de structures besoin de conseils
- 29. typedefs de structures ne semblant pas passer dans les fichiers d'en-tête?
- 30. Utiliser ajax calendarextender avec mvc
Merci pour la réponse. Y at-il une sorte de sécurité supplémentaire qui vient de l'utilisation de MVC? – munch
Pas vraiment intrinsèquement, mais cela entraîne généralement votre application à utiliser un seul point d'entrée. Dans ce seul point d'entrée, vous pouvez définir une constante, puis en haut de chaque fichier, vous pouvez ajouter quelque chose comme ceci: if (! Isset (ENTRY_POINT)) die ('Pas d'accès direct'); De cette façon, vous pouvez vous assurer que votre application peut passer par l'amorçage et exécuter toute sa sécurité. Ce sera juste beaucoup plus solide. –