Maison  >  Article  >  développement back-end  >  Sept frameworks PHP grand public, combien en avez-vous utilisés ?

Sept frameworks PHP grand public, combien en avez-vous utilisés ?

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-04-02 18:36:4319636parcourir

En php, il existe sept frameworks les plus couramment utilisés, à savoir Yii2, Laravel, Yaf, Thinkphp, Code Igniter, Zend Framework et CakePHP. Aujourd'hui, nous allons les présenter en détail.

Sept frameworks PHP grand public, combien en avez-vous utilisés ?

1. ThinkPHP

ThinkPHP (FCS) est un framework léger de taille moyenne qui est transplanté de la structure Struts de Java vers le framework de développement PHP chinois. . 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, communauté active. Élevé

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. Le support d'Ajax n'est pas très bon ;

2. La structure des répertoires est déroutante, ce qui est pire que celle des autres frameworks ; 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

1. Pure OOP

2 Utilisé pour les applications Web à grande échelle

3. à utiliser

4. La vitesse de développement est rapide et la vitesse de fonctionnement est également rapide. Excellentes performances et fonctionnalités riches

5. 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 . Peu d'exemples de documents

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 modes de développement TDD. , DDD et BDD

2. Prend en charge 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 le framework de composants, il est donc relativement volumineux

4. Avantages

1.Code Igniter prône le principe de « la simplicité est la beauté ». 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 une opération 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. d'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. un certain degré de mise en page pour faciliter la réutilisation des modèles et encapsuler la couche d'opération de données. C'est plutôt bien, et CodeIgniter n'utilise pas beaucoup de modèles de conception trop complexes, et ses performances d'exécution et la lisibilité du code sont toutes deux bonnes. Quant à la librairie supplémentaire, elle est pas mal, simple et efficace.

5. Zend Framework

Avantages

1. Application étendue des nouvelles fonctionnalités orientées objet en PHP5 : 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 en termes d'architecture et a une efficacité d'exécution moyenne

4. Conception MVC, relativement simple

5. fonction de routage. Le fichier de configuration est relativement puissant (peut gérer XML et php INI)

6. 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 utiliser la fonction Loader pour charger d'autres classes nouvellement ajoutées

7 La fonction Cache est très. Puissant, il prend en charge tout, du cache frontal au 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. et la couche View est simple à implémenter (la même chose qu'elle n'est pas implémentée) ), incapable de contrôler la page front-end de manière très puissante.

2 Sans scripts automatisés, la création d'une application, y compris le fichier d'entrée, doit être construit manuellement par vous-même et le coût d'entrée est élevé

3 Pour les projets simples et pour les petits projets, au contraire, parce qu'une grande quantité de conception orientée objet est utilisée dans le cadre, des exigences plus élevées sont mis en avant pour les développeurs, ce qui augmente indirectement le coût de développement du projet

Évaluation

En tant que framework officiel, l'ambition de Zend Framework est prévisible. Il veut évincer les autres. frameworks, tout en encapsulant de nombreuses bibliothèques de classes puissantes pour fournir des services de framework à guichet unique, et leur équipe de développement est très solide, est pleinement capable de développer des produits très puissants, il est donc fondamentalement certain que Zend Framework a un brillant avenir, si plus de temps. est dépensé pour améliorer le 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 est plutôt bonne

3 Les fonctions hasOne et hasMany. la couche de base de données est très puissante. Plus adaptée au traitement commercial complexe

4. Fonction de routage, la difficulté de configuration est modérée

5. L'échafaudage automatique (échafaudage) est très puissant et adapté aux moyennes. applications de taille

6. De base Implémentation de chaque couche de MVC

7. Dispose d'une fonction de script de ligne de commande automatique

8. Documentation complète, coût d'apprentissage moyen

. Inconvénients

1. 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 autrement que la base de données

2. . La fonction de cache est légèrement faible

3. La fonction de configuration est un peu faible

4. Ne convient pas aux applications à grande échelle, convient uniquement aux applications de taille moyenne. légèrement plus élevé pour les applications à petite échelle.

Évaluation

De manière générale, le framework CakePHP représente une époque très importante et représentative du framework PHP, et il joue actuellement un rôle Un rôle très important. De nombreux frameworks auto-écrits imitent la méthode CakePHP, ce qui constitue une étape importante dans le produit ; CakePHP révèle la méthode de développement agile de RoR et l'idée de conception de considérer les opérations de base de données comme le seul modèle. de même, il vaut également la peine de le choisir comme framework de développement pour les sites Web Web2.0

7. Symfony

Avantages

1. . Implémente complètement les trois couches de MVC

2 Encapsule tout, y compris les données $POST, $GET, la gestion des exceptions, les fonctions de débogage, la détection des données

3.

4. Chargez automatiquement la classe et vous pouvez définir librement plusieurs de vos propres classes

5. Prise en charge puissante du langage

6. Il dispose d'opérations de couche de vue très puissantes et peut contenir plusieurs fichiers. de manière fragmentaire

7. Fonction de configuration très puissante, 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 --> Application --> Module --> Action, qui peut satisfaire les besoins de plusieurs applications dans le cadre du projet, et chaque couche peut définir sa propre bibliothèque de classes, son fichier de configuration, sa mise en page

Opération de ligne de commande très puissante. fonctions, y compris la création de projets, la création d'applications, la création de modules et l'actualisation du cache Attendez

10. Symfony est certainement le premier choix pour développer des projets vastes et complexes, car l'utilisation de Symfony permettra d'économiser considérablement les coûts de développement, et il y aura aucun problème lorsque plusieurs personnes collaborent. La classe de base est définie au niveau du projet. À l'avenir, n'importe quel module peut être réutilisé, réutilisant grandement le code.

Inconvénients

. 1. Le plus gros problème est également l'utilisation de trop de projets open source avec des styles différents à combiner dans un framework

2 Étant donné que Mojavi et Propel eux-mêmes sont assez complexes, la structure de Symfony est très compliquée et difficile à mettre en œuvre. comprendre et apprendre

3. La fonction de mise en cache ne peut pas être contrôlée, et elle est toujours mise en cache à chaque fois lors du développement et du débogage, 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, qui prend beaucoup de temps

5 Le coût d'apprentissage est très élevé et il n'y a pas de communauté mature et. 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, elles sont donc naturellement recommandées. pour les projets complexes, il 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. 🎜>

Revue globale

Les frameworks ci-dessus ont leurs propres caractéristiques, et ce sont tous des projets open source, mais les projets ciblés par les frameworks sont différents :

1. Petits projets : CodeIngiter

2. Projets moyens : CakePHP, Zend Framework, Laravel, Thinkphp

3. Grands projets lourds : Yii, Symfony, Laravel

Les 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 framework, car chaque projet ne peut pas déterminer si vous apporterez des modifications à mesure que vos besoins évoluent.

Apprentissage recommandé : "

Tutoriel vidéo 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer