Cet article partagera avec vous quels sont les frameworks couramment utilisés en PHP ? Quels sont ses avantages et ses inconvénients ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
1 ThinkPHP
ThinkPHP (FCS) est un A léger. framework de taille moyenne, il s'agit d'un framework de développement PHP chinois transplanté 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
Avec des idées Java matures
Démarrage facile avec une riche documentation chinoise ; Faible coût d'apprentissage, activité communautaire élevée
Le framework a une forte compatibilité, PHP4 et PHP5 sont entièrement compatibles et prennent entièrement en charge UTF8, etc.
Convient au développement de projets de petite et moyenne taille
Présentation de l'outil de gestion de paquets composer de thinkphp3.2.2
Inconvénients :
Le support d'Ajax n'est pas très bon
L'annuaire ; la structure est déroutante par rapport à d'autres frameworks La structure des répertoires est un peu différente
est facile à démarrer, mais difficile à apprendre en profondeur ;
2. Yii
Yii 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.
Avantages :
POO pure
Pour les applications Web à grande échelle
Le modèle est facile à utiliser
La vitesse de développement est rapide et la vitesse d'exécution est également rapide. Excellentes performances et riches en fonctionnalités
Utilisez des outils de ligne de commande.
Supporte l'outil de gestion des packages Composer
Inconvénients :
Oui Moins de conseils et de considération au niveau de la couche Modèle
Moins d'exemples de documents
Trop d'anglais
Nécessite une maîtrise de la technologie PHP et une maîtrise de la programmation POO !
La vue n'est pas une vue idéale. La vue idéale ne peut être que du code HTML et n'impliquera pas de code PHP.
3. Laravel
Avantages :
Conception Laravel L'idée est très avancée et très adaptée à l'application de divers modes de développement TDD, DDD et BDD
Support de l'outil de gestion des packages Composer
Fonctionnalités PHP plus récentes intégrées , 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 :
Code Igniter prône le principe de « 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é ».
La configuration est simple, toutes les configurations sont configurées à l'aide de scripts PHP et l'efficacité d'exécution est élevée
possède des fonctions de routage de base et peut effectuer des opérations dans une certaine mesure de routage ;
a une fonction de mise en page préliminaire et peut créer un certain niveau d'apparence d'interface
La couche de base de données est bien encapsulé et possède une fonction MVC de base.
Rapide et concis, peu de code, performances d'exécution élevées,
Cadre simple, facile à utiliser , faible coût d'apprentissage, documentation détaillée ;
Il est livré avec de nombreuses bibliothèques simples et faciles à utiliser, et le framework est adapté aux petites applications.
Inconvénients :
en soi n'est pas idéal.
La structure interne est trop déroutante. Bien qu'elle soit simple et facile à utiliser, elle manque de capacités d'extension.
Considérez la couche Modèle simplement comme une opération de base de données.
Le framework est légèrement simple et ne peut répondre qu'aux besoins des petites applications, et est légèrement moins capable de répondre aux besoins des applications de taille moyenne.
Évaluation :
En général, 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 n'utilise pas trop de complexité. Le modèle de conception est bon en termes de performances d'exécution et de lisibilité du code. Quant à la bibliothèque supplémentaire, elle est également plutôt bonne, simple et efficace.
5. Zend Framework
Avantages :
Application étendue de fonctionnalités orientées objet dans PHP5 Nouvelles fonctionnalités : interfaces, exceptions, classes abstraites, SPL, etc. L'application de ces éléments rend Zend Framework hautement modulaire et flexible
suit strictement les principes de "programmation pour les interfaces" et de "responsabilité d'un seul objet"
Produit officiellement, il est livré avec de nombreuses bibliothèques. Le framework lui-même est écrit à l'aide de nombreux modèles de conception. L'architecture est très élégante et l'efficacité d'exécution est moyenne.
Conception MVC, relativement simple
Il a une fonction de routage et le fichier de configuration est relativement puissant (peut gérer XML et php INI)
Peut intuitivement prendre en charge autre chose que opérations de base de données Couche modèle (plus puissante que CodeIgniter et CakePHP), et peut facilement utiliser la fonction Loader pour charger d'autres classes nouvellement ajoutées
La fonction Cache est très puissante, prise en charge du cache frontal à Cache back-end, le cache back-end prend en charge Memcache, APC, SQLite, les fichiers, etc.
La fonction d'exploitation de la base de données est très puissante et prend en charge divers pilotes (adaptateurs)
La documentation est très complète et la communauté domestique est très mature
Inconvénients :
La fonction MVC est relativement faible, View La couche est simplement implémentée (la même que celle non implémentée) et ne peut pas contrôler la page frontale de manière très puissante
Il n'y en a pas. script automatisé. Pour créer une application, y compris le fichier d'entrée, tout doit être construit manuellement, et le coût d'entrée est élevé
Pour les projets simples et petits, au contraire, car un grand Lorsqu'une quantité de conception orientée objet est appliquée dans le framework, des exigences plus élevées sont mises en avant pour les développeurs, ce qui augmente indirectement le développement du projet. Coût
Évaluation : .
En tant que framework officiel, l'ambition de Zend Framework est prévisible et il veut évincer les autres frameworks. Il encapsule de nombreuses bibliothèques de classes puissantes et peut fournir des services de framework unique. Leur équipe de développement est très puissante et pleinement capable de le faire. développer des produits très puissants. Par conséquent, il est fondamentalement certain que Zend Framework a un brillant avenir si vous passez plus de temps à perfectionner le framework. 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 le futur. Mise à niveau de
6. CakePHP
Avantages :
Le plus similaire. framework vers RoR, Y compris la méthode de conception, la méthode Active Record de fonctionnement de la base de données
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'exécution l'efficacité n'est pas mauvaise
Les fonctions hasOne et hasMany de la couche base de données sont très puissantes et adaptées aux traitements métiers complexes
La fonction de routage est modérément difficile à configurer
L'échafaudage automatique (échafaudage) est très puissant et adapté aux applications de taille moyenne
Essentiellement implémenté chaque couche de MVC
Il a pour fonction d'exécuter automatiquement des scripts de ligne de commande
Documentation complète, coût d'apprentissage moyen
Inconvénients :
Un problème très sérieux avec CakePHP est qu'il comprend le modèle comme une opération de couche de base de données, ce qui affecte sérieusement sa capacité à fonctionner autre que la base de données.
La fonction cache est légèrement faible
La fonction de configuration est un peu faible
Il ne convient pas aux applications à grande échelle. Il ne convient qu'aux applications de taille moyenne. Le coût d'apprentissage est légèrement plus élevé pour les applications à petite échelle.
Évaluation :
D'une manière générale, le framework CakePHP représente une époque très importante et représentatif du framework PHP, et joue actuellement un rôle très important. Fonction, de nombreux frameworks auto-écrits imitent la méthode de CakePHP, qui est un produit phare ; CakePHP révèle la méthode de développement agile de RoR et l'idée de conception consistant à considérer les opérations de base de données comme le seul modèle. Il est excellent pour développer des applications et des prototypes rapides, de même, le cadre de développement pour les sites Web Web2.0 mérite également d'être choisi.
7. Symfony
Avantages :
Fonction de configuration très puissante, utilisant la configuration XML pour contrôler tous les frameworks et les comportements d'exécution des programmes
Comprend une puissante gestion de projets et d'applications multi-niveaux : Projet - - > Application --> Module --> L'action peut répondre aux besoins de plusieurs applications dans un seul projet, et chaque couche peut définir sa propre bibliothèque de classes, son fichier de configuration et sa mise en page
Fonctions d'opération en ligne de commande très puissantes, notamment la création de projets, la création d'applications, la création de modules, l'actualisation du cache, etc.
Symfony est définitivement le premier choix pour développer des projets vastes et complexes car Symfony est utilisé , permettra d'économiser considérablement les coûts de développement et il n'y aura aucun problème lorsque plusieurs personnes collaboreront. 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 :
Le plus gros problème est également l'utilisation de trop de projets open source avec des styles différents à combiner dans un framework
Comme Mojavi et Propel eux-mêmes sont assez complexes, la structure de Symfony est très complexe et difficile à comprendre et à apprendre
La fonction de cache ne peut pas être contrôlée à chaque fois que le développement et le débogage sont effectués. toujours en cache, vous devez exécuter symfony cc , symfony rc pour vider et reconstruire le cache
n'est pas très efficace, notamment le processus d'analyse des modèles et de lecture des fichiers de configuration, qui prend beaucoup de temps de temps
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 est définitivement un framework de niveau 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. Naturellement, il est recommandé d'utiliser Symfony pour gérer des projets complexes. Je pense que cela en vaut la peine. Le coût de maintenance est relativement faible et la réutilisabilité est 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 leurs propres caractéristiques, et ce sont tous des projets open source. Cependant, les projets ciblés par les frameworks sont différents : 1. Petits projets : CodeIngiter2. Projets moyens : CakePHP, Zend Framework, Thinkphp3. Grands projets lourds : Yii, Symfony, LaravelLes divisions ci-dessus ne sont pas absolues. Lors de la sélection des projets, vous devez pleinement prendre en compte la personnalisation et l'évolutivité du cadre, car chaque projet ne peut pas être sûr que vous apporterez des modifications à mesure que les besoins évoluent
Ce qui précède. est le contenu détaillé des avantages et des inconvénients des sept frameworks couramment utilisés en PHP. Pour plus d'informations, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !
Apprentissage recommandé : "
Tutoriel vidéo PHPCe 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!