Récemment, l'utilisation du présent simple dans le pays plus habitués à quelques grands framework PHP étrangers (non compris cadre national), il ya un cadre général pour ces sentiments intuitive, simple de partager, pour la sélection du cadre de ce qu'il faut faire quandAu moment où une référence.
Le principal cadre de référence comprennent: CodeIgniter, CakePHP, ZendFramework, Symfony.Je ne suis pas au sérieux utilisent beaucoup du cadre, tout simplement essayer un peu immature, ou peut être un avis qui ne va pas beaucoup, s'il vous plaît me corriger, à grandir ensemble.
CodeIgniter
Avantages:
1. Configuration simple, tous configurés pour utiliser un script PHP pour configurer, d'exécuter avec une grande efficacité, avec des capacités de base de routage pour acheminer dans une certaine mesure, une fonction mise en page préliminaire, capable de produire un certain degré de look and feel; couche de base de données d'un bon paquetavec la fonction de base du MVC
2. Quick simple petit code à mettre en œuvre de haute performance, le cadre est simple, facile à utiliser, d'étudier, à faible coût, le document en détail, vient avec beaucoup de facilité d'utilisation de la bibliothèque, le cadre pour les petites applications
Inconvénients:
1. La couche modèle interprété comme une simple base de données des opérations
2. Cadre un peu simple, de petites applications ne peuvent être satisfaits, un peu moins en mesure de répondre aux besoins des applications de taille moyenne
Note:
Dans l'ensemble, l'amène à remplir une demande rapide et facile CodeIgniter vaut encore la peine de construire un certain degré de mise en page, la réutilisation modèle facile, la couche de manipulation de données est un bon paquet, et CodeIgniter ne pas utiliser de nombreux modèles de conception sont trop complexes à mettre en œuvreperformance et la lisibilité du code sont bonnes.Quant à la bibliothèque supplémentaire est également bonne, simple et efficace.
CakePHP
Avantages:
1. CakePHP est le plus semblable au cadre de RoR, y compris le mode de conception, d'exploitation base de données Active Record moyens; niveau de la conception est très élégant, ne propre bibliothèque supplémentaire, toutes les fonctions sont-cadre pure, l'efficacité n'est pas mauvaise; couche de base de donnéesLe hasOne, fonction hasMany est très puissant, plus approprié pour les processus d'affaires complexes; de routage, de configuration n'est pas mauvaise; construire automatiquement échafaudage (échafaudage) est très forte, convient pour des applications moyennes entreprises, la réalisation de base de la MVC sur chaque couche, avec commande le fonctionnement automatique en lignescript;
2. Comparaison de l'ensemble du document, afin de promouvoir plus de succès dans le pays, la plupart d'entre eux savent que CakePHP, les coûts d'apprentissage modérée
Inconvénients:
1. CakePHP problème très grave est entendu que la couche de base de données modèle de fonctionnement a sérieusement affecté la capacité d'opérer en dehors de la base de données en plus
2 fonction de cache de CakePHP un peu faibles, et les fonctions de configuration un peu faible;. CakePHP n'est pas adapté pour des applications à grande échelle, seules les demandes pour des applications moyennes et petites, le coût du point peu élevé de l'apprentissage
Note:
Globalement, le framework PHP CakePHP cadre représente un important représentant et d'une époque, et joue actuellement un rôle important, beaucoup ont d'écrire leur propre copie du framework CakePHP de la manière, est un produit d'étape; CakePHP révéler le rorméthodes de développement Agile et le fonctionnement de base de données qui est les seules idées de conception du modèle, que le développement rapide d'applications et de prototypage est un outil parfait, servant aussi à rendre le cadre de développement Web2.0 site, est également digne de choix.
Zend Framework
Avantages:
1. Le fonctionnaire produit, livré avec un lot de la bibliothèque, le cadre lui-même utilise un grand nombre de modèles de conception à écrire, très élégante structure, l'efficacité du milieu; de conception MVC, relativement simple, avec des capacités de routage, fichier de configuration plus puissante (à manipulerXML et PHP INI), une variété de la bibliothèque est très puissant, toutes les fonctionnalités du framework PHP, la plus complète, incluant non seulement un cadre, il est une bibliothèque de classes grandes (au lieu de PEAR), qui est sa caractéristique principale, àEn plus de soutien direct pour les opérations de base de données en dehors de la couche modèle (plus fort que CodeIgniter et CakePHP), et peuvent facilement être chargées en utilisant les fonctions Loader d'autres nouvellement ajouté classe; fonction de cache est très puissant, de l'avant à l'appui d'arrière-Cache Cache,Cache arrière-plan de soutien de Memcache, APC, SQLite, aux fichiers et plus de moyens; base de données des opérations fonction est très puissante, supporte une variété de pilotes (adaptateurs)
2. La documentation est très complète, de la communauté très mature dans le pays, et de nombreux sites Web 2.0 actuellement en usage, le coût de l'enseignement secondaire l'apprentissage
Inconvénients:
1. MVC fonctionnalité complète faibles, la mise en œuvre couche Vue simple (comme ne pas réaliser la même chose), pas de contrôle très forte de la première page
2. Il n'ya pas de scripts automatisés pour créer une application, y compris le fichier d'importation, ont tous leur propre main, des coûts d'entrée élevés
3. Framework Zend Framework application comme un moyen pas un gros problème, et peut à peine en tant que cadre pour les applications à grande échelle, mais comme un homme très mûr pour framework PHP à grande échelle, mais prend également des efforts
Note:
Réalisé dans le cadre officiel, l'ambition du Zend Framework est prévisible, tentait de se faufiler dans d'autres cadres, mais de nombreux package de bibliothèque puissant qui fournit le cadre pour un service à guichet unique, et leur équipe de développement est très forte, il est suffisamment completcapacité à développer des produits qui sortent très forte, il est essentiel de déterminer le Zend Framework prometteuse, si elle prend plus de temps pour cadre parfait.De même, le Zend Framework est une architecture relativement élégant lui-même, qu'il ya beaucoup d'officiels Zend maître, le design est relativement avancé, mais pas assez parfait pour réaliser certaines fonctions, telles que la couche Vue, scripts automatisés, etc, qui sont tributaires de l'avenirmise à niveau.Dans l'ensemble, le plus attendu du Zend Framework est un cadre, bien sûr, vous avez maintenant de mettre votre projet est complet, sans aucun problème.
Symfony
Avantages
1. Symfony framework PHP que je connais le plus puissant, et j'ai utilisé un temps, mais de nombreuses fonctionnalités encore non fouillés; sa mise en œuvre complète de la couche MVC, résume tout, y compris les $ _POST, $ _GET données, la gestion des exceptions, le débogage, la détection de données; contient la fonction de cache puissants, la classe de charge automatique (Cette fonctionnalité est vraiment cool), le puissant État de support i18n; ont tenu une opération très forte couche peut être fragmenté plusieurs fichiers contenant un seul; capacités de configuration très puissante, l'utilisation de configuration yml pour contrôler le comportement de tous les cadres et le fonctionnement, assez fort pour rendre les gens sans voix, c'est tout leur propre définition arbitraire de la classe, et symfony va automatiquement charger (chargement automatique) de la classe,librement dans le programme peut appeler; comprend une forte projets multi-niveau et la gestion des applications: Projet - Application - Module - Action, en vertu d'un projet visant à répondre aux besoins des applications multiples, et chaque couche peut être définileurs propres bibliothèques, fichiers de configuration, mise en page, très puissantes fonctions de ligne de commande, y compris la mise en place de projets, de créer des applications, de créer des modules, vider le cache et ainsi de suite;
2. Symfony est certainement le premier choix pour le développement de grands projets complexes, car l'utilisation de Symfony, vous permet d'économiser les coûts de développement, et la collaboration au fil du temps, pas de problème, défini dans le projet basé sur la classe après la classe, chaque module peut être réutilisé,la réutilisation du code beaucoup plus
Inconvénients:
1. Le modèle de fonctionnement de base de données des poids lourds utilisant la propulsion et le créole, mais dans la version que j'ai testé a été déplacé vers l'addon en eux, peuvent ou non
2. Mise en cache ne peut pas contrôler chaque fois que le cache est toujours le développement et le débogage, besoin d'exécuter symfony cc, symfony rc à défricher et à reconstruire le cache;
3. L'efficacité n'est pas élevé, en particulier dans l'analyse du fichier de configuration des modèles et le processus de lecture, passer beaucoup de temps;
4. Coût d'apprentissage est élevé et il n'y a pas une communauté mature et de documentation, pas même le manuel en chinois, ce qui correspond à maîtriser toutes les fonctionnalités, vous devez passer plus de temps
Note:
Symfony est certainement cadre d'entreprise, le seul domaine qui semble Java cadre puissant avec quelque chose à la concurrence; des choses puissantes, complexe naturel d'apprentissage, mais aussi l'évolution correspondante du projet plus utile, les projets complexes naturels est recommandé d'utiliser Symfonyà traiter, pense qu'il est utile, celle-ci est relativement faible des coûts de maintenance, la réutilisation est très forte.Si vous utilisez le correspondant Symfony devrions tous être des projets Internet plus complexe, il est nécessaire d'examiner le problème correspondant de la distribution sur la base de données, vous avez besoin d'abandonner Symfony est livré avec le niveau de fonctionnement de base de données, les besoins de sa propre définition, bien sûr, Symfony prend en charge une arbitrairescouche modèle structurel.
Sommaire
Au cours de plusieurs cadres ont leurs caractéristiques propres, et sont des projets open source, mais pas le même que le cadre pour le projet, en général, plus adapté pour les petits projets CodeIngiter, CakePHP et Zend Framework est adapté aux projets de taille moyenne, poids lourd de plus approprié pour les projets à grande échelle Symfony,Lorsque la sélection des projets, nous devrions tenir pleinement compte du cadre peut être personnalisé, l'évolutivité, parce que chaque projet ne peut pas être sûr que tu seras changé que les besoins changent.
Relativement parlant, le Zend Framework et Symfony capacité relativement forte pour faire face au changement, en particulier, peuvent librement personnaliser la couche du modèle de la classe, peut être très pratique pour accroître leurs activités ou de classes de traitement de données, je recommande personnellement l'utilisation de projets à grande échelle dans le cadre.
CodeIngiter et même CakePHP dans les projets des petites et moyennes entreprises peuvent jouer un rôle important dans le développement et le prototypage rapides, très approprié pour les objectifs du projet ne sont pas claires et le développement du prototype.
Bien sûr, peut-être, d'écrire un cadre plus approprié.
Cadre général pour l'évaluation de plusieurs estimé que beaucoup de choses ne sont pas le point, nous avons provisoirement comparer les mêmes vues et suggestions sont les corrections bienvenues!