Introduction aux frameworks communs pour le développement PHP :
(Tutoriel vidéo recommandé : Tutoriel vidéo php)
1.
ThinkPHP (FCS) est un framework léger de taille moyenne, qui est un framework de développement PHP chinois transplanté à partir de la structure Struts de Java. Il utilise une structure de développement orientée objet et le mode MVC et simule l'implémentation de la bibliothèque de balises Struts. Il est plus convivial à tous égards. Il est relativement facile à démarrer pour les développeurs familiarisés avec J2EE et convient aux débutants. Cadre PHP. L'objectif de ThinkPHP est de simplifier le développement, d'améliorer l'efficacité et d'être facile à étendre. Sa prise en charge de base de données inclut déjà la prise en charge de MySQL, MSSQL, Sqlite, PgSQL, Oracle et PDO. ThinkPHP dispose d'une documentation et d'exemples riches, et le framework a une forte compatibilité, mais ses fonctions sont limitées, il est donc plus adapté au développement de projets de petite et moyenne taille.
Avantages :
1. Avec l'aide d'idées Java matures
2. Facile à utiliser, documentation chinoise riche ; faible coût d'apprentissage, activité communautaire élevée
<.>3. Le framework a une forte compatibilité, PHP4 et PHP5 sont entièrement compatibles et prennent entièrement en charge UTF8, etc. 4. Convient au développement de projets de petite et moyenne taille 5. Introduction de l'outil de gestion de packages composer à partir de thinkphp3.2.2 Inconvénients 1. Support Ajax Le support n'est pas très bon ; 2 La structure des répertoires est déroutante, ce qui est pire que celle des autres frameworks 3. difficile d'apprendre en profondeur. 2. YiiYii est un framework PHP hautes performances basé sur des composants pour développer des applications Web à grande échelle. Yii est écrit en POO stricte et dispose de références de bibliothèque complètes et de didacticiels complets. De MVC, DAO/ActiveRecord, widgets, mise en cache, RBAC hiérarchique, services Web, jusqu'aux thèmes, I18N et L10N, Yii fournit presque tout ce dont vous avez besoin pour le développement d'applications Web 2.0 d'aujourd'hui. En fait, Yii est l’un des frameworks PHP les plus efficaces. Avantages1. Pure OOP2 Utilisé pour les applications Web à grande échelle3. 🎜>4. Développez-vous rapidement et exécutez rapidement. Excellentes performances et fonctionnalités riches5. Utilisez les outils de ligne de commande. 6. Prise en charge de l'outil de gestion des packages Composer Inconvénients : 1. Moins de conseils et de considération pour la couche Modèle 2. >3. Trop d'anglais
4. Nécessite une maîtrise de la technologie PHP et une maîtrise de la programmation POO !
5. La vue n'est pas une vue idéale. La vue idéale peut être simplement du code HTML et n'impliquera pas de code PHP.
3. Laravel
Avantages
1 L'idée de conception de Laravel est très avancée et est très adaptée à l'application de divers modèles de développement TDD, DDD et BDD
. 2. Prise en charge de l'outil de gestion des packages Composer
3. Il intègre des fonctionnalités relativement nouvelles de PHP, ainsi que divers modèles de conception, conteneurs Ioc, injection de dépendances, etc.
Inconvénients
1 Basé sur un framework basé sur des composants, il est donc relativement volumineux
4 CodeIgniter
Avantages :
1.Code Igniter prône le principe « la simplicité est belle ». Il n’y a pas de modèles de conception fantaisistes, pas de structures d’objets fantaisistes, tout est si simple. Il suffit de quelques lignes de code pour commencer à s'exécuter et de quelques lignes de code supplémentaires pour sortir. On peut dire que c'est un modèle de « grande simplicité ».
2. La configuration est simple, toutes les configurations sont configurées à l'aide de scripts PHP et l'efficacité d'exécution est élevée
3. Il possède des fonctions de routage de base et peut effectuer du routage dans une certaine mesure ;
4. Possède une fonction de mise en page préliminaire et peut créer un certain niveau d'apparence d'interface ;
5. La couche de base de données est bien encapsulée et possède des fonctions MVC de base. Rapide et concis, le code n'est pas nombreux, les performances d'exécution élevées,
7 Le framework est simple, facile à utiliser, le coût d'apprentissage est faible et la documentation est détaillée
8. est livré avec de nombreuses bibliothèques simples et faciles à utiliser, et le framework est adapté aux petites applications
Inconvénients :
1 La mise en œuvre elle-même n'est pas idéale.
2. La structure interne est trop déroutante. Bien qu'elle soit simple et facile à utiliser, elle manque de capacités d'extension.
3. Comprenez simplement la couche Modèle comme des opérations de base de données.
4. Le framework est légèrement simple et ne peut répondre qu'aux besoins des petites applications, mais est légèrement moins capable de répondre aux besoins de applications de taille moyenne.
Évaluation :
De manière générale, il vaut la peine d'utiliser CodeIgniter pour réaliser des applications simples et rapides. En même temps, il peut construire un certain degré de mise en page pour faciliter. la réutilisation des modèles. La couche d'opération de données est bien encapsulée et CodeIgniter Il n'utilise pas beaucoup de modèles de conception trop complexes, et les performances d'exécution et la lisibilité du code sont toutes deux bonnes. Quant à la bibliothèque supplémentaire, elle est également plutôt bonne, simple et efficace.
5. Zend Framework
Avantages :
1. Un grand nombre de nouvelles fonctionnalités orientées objet dans PHP5 sont appliquées : interfaces, exceptions, classes abstraites, SPL, etc. . L'application de ces éléments rend Zend Framework hautement modulaire et flexible
2 Suivre strictement les principes de "programmation pour les interfaces" et de "responsabilité d'un seul objet"
3. beaucoup de bibliothèques, et le framework lui-même est écrit en utilisant de nombreux modèles de conception. Il est très élégant dans son architecture et a une efficacité d'exécution moyenne
4. Conception MVC, relativement simple
5. Il a une fonction de routage. Le fichier de configuration est relativement puissant (peut gérer XML et php INI)
6 Il peut prendre en charge intuitivement la couche Modèle en plus des opérations de base de données (mieux que CodeIgniter et CakePHP), et peut facilement. utilisez la fonction Loader pour charger d'autres Le Class
7.Cache nouvellement ajouté est très puissant et prend en charge à la fois le cache frontal et le cache back-end. Le cache back-end prend en charge Memcache, APC, SQLite, les fichiers, etc.
8. La fonction d'exploitation de la base de données est très puissante et prend en charge divers pilotes (adaptateurs)
9 La documentation est très complète et la communauté domestique est très mature
Inconvénients :
1 La fonction .MVC est relativement faible, la couche View est simplement implémentée (tout comme elle n'est pas implémentée) et elle ne peut pas contrôler puissamment la page frontale.
2 Il n'y a pas de script automatisé. . Pour créer une application, y compris le fichier d'entrée, tout doit être fait manuellement. Construction, le coût d'entrée est élevé
Pour les projets simples et petits, au contraire, car une grande quantité de conception orientée objet. est appliqué dans le framework, des exigences plus élevées sont mises en avant pour les développeurs, ce qui augmente indirectement le coût du projet
Évaluation :
En tant que framework officiel, l'ambition de Zend Framework est prévisible. veut évincer d'autres frameworks, tout en encapsulant de nombreuses bibliothèques de classes puissantes pour fournir une solution de services de framework unique, et leur équipe de développement est très solide, pleinement capable de développer des produits très puissants, il est donc fondamentalement certain que Zend Framework dispose d'un. un avenir radieux, si davantage de temps est consacré à l'amélioration du cadre. De même, l'architecture du Zend Framework elle-même est relativement élégante, ce qui montre que Zend compte officiellement de nombreux experts et est relativement avancé dans les concepts de conception. Bien que certaines fonctions ne soient pas entièrement implémentées, comme la couche View, les scripts d'automatisation, etc., tout cela dépend. sur l'avenir. Mise à niveau
6. CakePHP
Avantages :
1. Le framework le plus similaire à RoR, y compris la méthode de conception et la méthode Active Record de fonctionnement de la base de données
.2. Le niveau de conception est très élégant, il n'y a pas de bibliothèque supplémentaire, toutes les fonctions sont de purs frameworks et l'efficacité d'exécution n'est pas mauvaise
3. Les fonctions hasOne et hasMany de la couche de base de données sont très puissant et plus adapté au traitement commercial complexe. Adapté
4. Fonction de routage, la fonction de configuration est modérément difficile
5. L'échafaudage automatique (échafaudage) est très puissant et convient aux entreprises de taille moyenne. applications
6. MVC implémenté essentiellement à chaque couche
7 Il a pour fonction d'exécuter automatiquement des scripts de ligne de commande
8 La documentation est relativement complète et le coût d'apprentissage. est moyen
Inconvénients :
1. CakePHP est très Le problème sérieux est que le modèle est compris comme une opération de couche de base de données, ce qui affecte sérieusement la capacité de fonctionner autre que la base de données
2. La fonction de cache est légèrement faible
3. La fonction de configuration est légèrement faible
4. Ne convient pas aux applications à grande échelle, convient uniquement aux applications de taille moyenne. le coût d'apprentissage est légèrement plus élevé pour les petites applications.
Évaluation :
En général, le framework CakePHP représente PHP Le framework est une époque très importante et représentative, et il joue actuellement un rôle très important. De nombreux frameworks auto-écrits imitent la méthode CakePHP, qui est un produit phare ; CakePHP révèle la méthode de développement agile de RoR et considère les opérations de base de données comme c'est l'idée de conception du seul modèle. C'est un excellent outil pour développer des applications et des prototypes rapides. ; de même, il vaut également la peine de choisir comme cadre de développement pour les sites Web Web2.0
7. Symfony
Avantages :
1 implémente complètement trois couches de MVC
2. Encapsule tout, y compris les données $POST, $GET, la gestion des exceptions, la fonction de débogage, la détection des données3 Contient une puissante fonction de mise en cache4. peut définir diverses classes propres à volonté5. Prise en charge puissante du langage6 . Il a des opérations de couche de vue très puissantes et peut contenir plusieurs fichiers au coup par coup 7. fonction, utilisant la configuration XML pour contrôler tous les comportements d'exécution du framework et du programme 8. Contient une puissante gestion de projets et d'applications à plusieurs niveaux : Projet --> Module d'application --> répondre aux besoins de plusieurs applications sous un seul projet, et chaque couche peut définir sa propre bibliothèque de classes et son propre fichier de configuration, sa mise en page9. Fonctions d'opération en ligne de commande très puissantes, y compris la création de projets, la création d'applications, la création de modules, l'actualisation. cache, etc.10. Symfony est certainement le premier choix pour développer des projets volumineux et complexes. Grâce à l'utilisation de Symfony, les coûts de développement seront considérablement réduits et il n'y aura aucun problème lorsque plusieurs personnes collaborent. Après avoir défini la classe de base au niveau du projet, n'importe quel module peut être réutilisé, réutilisant grandement le code.Inconvénients : 1. utilisé pour combiner dans un framework 2 Étant donné que Mojavi et Propel eux-mêmes sont assez complexes, la structure de Symfony est très complexe, difficile à comprendre et à apprendre 3. . Chaque fois que le développement et le débogage sont toujours mis en cache, vous devez exécuter symfony cc, symfony rc pour vider et reconstruire le cache 4 L'efficacité n'est pas très élevée, en particulier le processus d'analyse des modèles et de lecture des fichiers de configuration. , ce qui prend beaucoup de temps 5. Le coût d'apprentissage est très élevé, et il n'y a pas de communauté mature ni de documentation chinoise en Chine Évaluation :Symfony l'est définitivement. un framework au niveau de l'entreprise, la seule chose qui peut apparemment rivaliser avec les frameworks puissants dans le domaine Java. Les choses puissantes sont naturellement compliquées à apprendre, mais elles sont également utiles pour le développement de projets, elles sont donc naturellement recommandées pour les projets complexes. Cela vaut la peine d'utiliser Symfony pour le gérer. Le coût de maintenance dans la période ultérieure est relativement faible et la réutilisabilité est très forte. En conséquence, si vous utilisez Symfony pour des projets Internet plus complexes, vous devez considérer la question de la distribution de la base de données. Ensuite, vous devez abandonner la couche d'opération de base de données fournie avec Symfony et la définir vous-même. Bien sûr, Symfony prend en charge la construction arbitraire de la couche de modèle. 🎜>
Bilan global :
Les frameworks ci-dessus ont chacun leurs propres caractéristiques, et ce sont tous des projets open source Cependant, les projets ciblés par les frameworks sont différents :
1. Petit projet : CodeIngiter2. Projets de taille moyenne : CakePHP, Zend Framework, Laravel, Thinkphp
3. Projets lourds à grande échelle : Yii, Symfony, Laravel
La classification ci-dessus n'est pas absolue, et cela dépend de la sélection du projet. Lors de la conception, vous devez pleinement prendre en compte la personnalisation et l'évolutivité du cadre, car chaque projet ne peut pas déterminer si vous apporterez des modifications à mesure que vos besoins évoluent.
Recommandations associées : formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!