Zuletzt verwendete einen einfachen Vergleich der Strom in dem Land mit mehr als ein paar große ausländische PHP Framework (nicht einschließlich häuslicher Rahmen), gibt es einen allgemeinen Rahmen für diese intuitive Gefühle, einfach zu teilen, für die Auswahl der Rahmen dessen, was zu tun ist, wennrecht, wenn eine Referenz.
Der Hauptrahmen der Hinweis enthalten: CodeIgniter, CakePHP, ZendFramework, Symfony.Ich glaube nicht ernsthaft nutzen viele der Rahmen, einfach versuchen, ein bisschen unreif, oder kann eine Menge Meinungen werden falsch ist, bitte korrigieren Sie mich, um zusammen zu wachsen.
CodeIgniter
Vorteile:
. 1 Konfiguration einfach konfiguriert alle PHP-Skript zu konfigurieren, führen mit hoher Effizienz, mit grundlegenden Routing-Fähigkeiten, um Route zu einem gewissen Grad, eine vorläufige Layout-Funktion, in der Lage, ein gewisses Maß an "Look and Feel zu erzeugen; Datenbank Schicht ein gutes Paketmit der Grundfunktion des MVC
. 2 Quick einfach wenig Code zu High-Performance umzusetzen, ist der Rahmen, einfach, leicht zu benutzen, zu studieren, niedrige Kosten, Dokument im Detail, kommt mit einer Menge von leicht in die Bibliothek, die Rahmenbedingungen für kleine Anwendungen
Nachteile:
1. Das Modell Schicht als eine einfache Datenbank-Operationen ausgelegt
2. Framework etwas einfache, kleine Anwendungen können nur zufrieden sein, etwas weniger in der Lage, die Bedürfnisse von mittelständischen Anwendungen zu erfüllen
Bewertung:
Insgesamt ist die auf eine schnelle und einfache Anwendung CodeIgniter dauern noch lohnt ein gewisses Maß an Layout Konstrukt, ist einfach Vorlage wiederverwenden, Datenmanipulation Schicht ein gutes Paket, und CodeIgniter benötigt nicht viele Design-Patterns sind zu komplex zu implementierenPerformance und Lesbarkeit des Codes sind gut.Wie für die zusätzliche Bibliothek ist auch gut, einfach und effizient.
CakePHP
Vorteile:
. 1 CakePHP ist das ähnlich wie die RoR Rahmen, einschließlich der Design-Modus, Active Record Datenbank-Betrieb bedeutet, Design-Ebene ist sehr elegant, nicht selbst zusätzliche Bibliothek, alle Funktionen reinen Rahmen sind, ist die Effizienz nicht schlecht, Datenbank-LayerDie hasOne, hasMany Funktion sehr mächtig, besser geeignet für komplexe Geschäftsprozesse ist, Routing, ist die Konfiguration nicht schlecht, zum automatischen Erstellen von Gerüst (Gerüst) ist sehr stark, geeignet für mittlere Anwendungen, die grundlegende Realisierung des MVC über jede Schicht mit automatischem Betrieb BefehlszeileScripting;
2. Vergleich des gesamten Dokuments zu fördern, erfolgreicher im Land, die meisten von ihnen wissen, dass CakePHP-, Lern-Kosten moderat
Nachteile:
1. CakePHP sehr ernstes Problem ist zu verstehen, wie die Datenbank-Schicht-Modell Betrieb ernsthaft die Möglichkeit, außerhalb der Datenbank zusätzlich zu betreiben betroffen sein
2 CakePHP-Cache-Funktion leicht schwach und Konfiguration Funktionen etwas schwach;. CakePHP ist nicht geeignet für großflächige Anwendungen, nur Anwendungen für mittlere und kleine Anwendungen, die Kosten etwas Höhepunkt des Lernens
Bewertung:
Insgesamt stellt das PHP-Framework CakePHP Rahmen eine wichtige und Vertreter einer Ära, und spielt derzeit eine wichtige Rolle, viele eigene Kopie des CakePHP Rahmen der Art und Weise zu schreiben, ist ein Meilenstein Produkt; CakePHP enthüllen die RoR'sAgile Entwicklungsmethoden und die Datenbank-Operation, dass die einzige Model Design-Ideen ist, wie Rapid Application Development und Prototyping ist ein perfektes Werkzeug, auch für die Web2.0-Site Entwicklung Rahmen zu machen, ist auch wert Wahl.
Zend Framework
Vorteile:
. 1 Die offizielle produziert, kommt mit einer Menge von Bibliotheken, verwendet das Framework selbst viele Design-Patterns zu schreiben, sehr elegante Struktur, die Effizienz des Mediums; MVC Design, das relativ einfach, mit Routing-Funktionen, leistungsfähigere Konfigurationsdatei (zu handhabenXML und PHP INI) ist eine Vielzahl von Bibliothek sehr mächtig, alle Funktionen PHP-Framework, das umfassendste, darunter nicht nur einen Rahmen, ist es eine große Klassenbibliothek (anstelle von PEAR), die ihre Haupteigenschaft ist, zuNeben der direkten Unterstützung für Datenbank-Operationen außerhalb des Model-Schicht (stärker als CodeIgniter und CakePHP), und einfach geladen werden können mit dem Loader Funktionen anderer neu hinzugefügte Klasse; Cache-Funktion ist sehr mächtig, von der Vorderseite auf die Back-End-Cache Cache-Unterstützung,Cache-Back-End Unterstützung Memcache, APC, SQLite, Dateien und mehr Möglichkeiten, Datenbank-Operationen Funktion ist sehr mächtig, unterstützt eine Vielzahl von Treibern (Adapter)
2. Die Dokumentation ist sehr voll, sehr reife Gemeinschaft im Land, und viele Web 2.0-Sites jetzt in Gebrauch, das Erlernen der Kosten der sekundären
Nachteile:
1. MVC feature complete schwach, View-Schicht einfache Implementierung (wie nicht erreicht das gleiche), nicht sehr starke Kontrolle der vorderen Seite
2. Es gibt keine automatisierte Scripts, um eine Anwendung zu erstellen, einschließlich der Import-Datei, die alle haben ihre eigene Hand gebaut, hohe Kosten für die Einreise
3. Zend Framework Application Framework als Medium kein großes Problem, und kann kaum als Rahmen für großflächige Anwendungen, sondern als eine sehr ausgereifte für großflächige PHP-Framework, sondern greift auch einige Mühe
Bewertung:
Produziert als offizielle Rahmen, Zend Framework Ehrgeiz vorhersehbar ist, versucht zu verdrängen anderen Rahmen, aber viele leistungsfähige Bibliothek Paket, das den Rahmen für einen One-Stop-Service und ihre Entwicklungs-Team ist sehr stark, es ist vollständig genugFähigkeit, Produkte, die kommen sehr stark entwickeln, ist es unerlässlich, die Zend Framework vielversprechend zu bestimmen, wenn sie mehr Zeit für die perfekten Rahmen stattfindet.Ebenso ist Zend Framework relativ elegante Architektur selbst, dass es viele Meister Zend offiziellen, das Design ist relativ weit fortgeschritten, wenn auch nicht perfekt genug, um einige Features, wie die View-Schicht, automatisierte Skripte, etc., die abhängig sind Zukunft erreichenaktualisieren.Insgesamt ist das am meisten erwartete Zend Framework einen Rahmen, natürlich haben Sie jetzt zu setzen Ihr Projekt ist komplett mit kein Problem.
Symfony
Vorteile
. 1 PHP-Framework Symfony, die ich kenne die mächtigste, und ich habe eine lange Zeit, aber viele Features noch nicht ausgegraben, dessen vollständige Umsetzung des MVC-Schicht kapselt alles, einschließlich der $ _POST, $ _GET Daten, Exception-Handling, Debugging, Datenerfassung, enthält leistungsfähige Cache-Funktion, automatische Last-Klasse (Dieses Feature ist so cool), der mächtigste Staat der i18n Unterstützung, haben eine sehr starke Ansicht Schicht Betrieb können mehrere Dateien enthält, fragmentiert werden einem einzigen; sehr mächtige Konfigurationsmöglichkeiten, die Verwendung YML Konfiguration, um das Verhalten aller Bilder und ausgeführt wird, stark genug, um die Menschen sprachlos Kontrolle; dass alle ihre willkürliche Definition der Klasse ist, und symfony wird automatisch geladen (auto Last) der Klasse,frei im Programm aufrufen können, enthält ein starkes Multi-Level-Projekten und Application-Management: Projekt - Anwendung - Module - Action unter ein Projekt auf die Bedürfnisse der verschiedenen Anwendungen zu erfüllen, und jede Schicht definiert werdeneigene Bibliotheken, Konfigurationsdateien, Layout, sehr mächtige Kommandozeilen-Funktionen, einschließlich der Einrichtung von Projekten, Erstellen von Anwendungen, Module erstellen, spülen Sie den Cache und so weiter;
2. Symfony ist definitiv die erste Wahl für die Entwicklung von großen komplexen Projekten, weil die Verwendung von Symfony, stark sparen Entwicklungskosten und die Zusammenarbeit im Laufe der Zeit, kein Problem, an dem Projekt auf Klasse nach Klasse basiert definiert, jedes Modul kann wiederverwendet werden,Wiederverwendung viel Code
Nachteile:
1. Die Datenbank Schwergewicht Betriebsmodell mit antreiben und Kreolisch, sondern in der Version, die ich getestet hat das Addon in ihnen bewegt, kann oder auch nicht
. 2 Caching können nicht kontrollieren, jedes Mal wird der Cache immer Entwicklungs-und Debugging, ausführen müssen, symfony cc, Symfony rc klare und den Wiederaufbau der Cache;
. 3 Effizienz ist nicht hoch, vor allem beim Parsen der Konfigurationsdatei Vorlagen und den Prozess des Lesens, verbringen viel;
4. Learning Kosten sind hoch und es gibt keine reife Community und Dokumentation, nicht einmal die chinesische manuelle, entsprechend alle Merkmale Meister, müssen Sie mehr Zeit damit verbringen,
Bewertung:
Symfony ist definitiv der Enterprise-Ebene einen Rahmen, der einzige Bereich, der leistungsfähige Java-Framework scheint etwas zu konkurrieren, mächtig Dinge, natürliche Erlernen komplexer, aber auch die entsprechende Entwicklung des Projektes mehr hilfreich ist die natürliche, komplexe Projekte empfohlen, Symfony nutzenzu behandeln, dass es wert ist, ist dieser relativ geringe Wartungskosten, ist die Wiederverwendbarkeit sehr stark.Wenn Sie die entsprechende Symfony sollten alle komplexer Internet-Projekte werden zu verwenden, muss das entsprechende Problem der Verteilung auf die Datenbank zu prüfen ist, Sie zu verlassen Symfony kommt mit dem Datenbank-Operation Ebene brauchen, muss seine eigene Definition, natürlich unterstützt Symfony eine willkürlicheStrukturmodell Schicht.
Zusammenfassung
Über mehrere Frameworks eigene Merkmale aufweisen und den Open Source-Projekte, aber nicht die gleiche wie die Rahmenbedingungen für das Projekt im Allgemeinen besser geeignet für kleine Projekte CodeIngiter, CakePHP und Zend Framework ist für mittelgroße Projekte geeignet, Symfony Schwergewicht eher für Großprojekte,Bei der Auswahl der Projekte, sollten wir in vollem Umfang berücksichtigen Rahmen können angepasst werden, Skalierbarkeit, weil jedes Projekt nicht sicher sein können, wenn Sie nach Bedarf ändern wird geändert.
Relativ gesehen, Zend Framework und Symfony relativ starke Fähigkeit zur Bewältigung des Wandels, insbesondere frei anpassen des Modells Schicht der Klasse, kann sehr bequem sein, ihr Geschäft oder der Datenverarbeitung Klassen steigern, ich persönlich empfehle die Verwendung von Großprojekten im Rahmen.
CodeIngiter und CakePHP gleiche in kleinen und mittleren Projekten kann eine wichtige Rolle spielen in der raschen Entwicklung und Prototyping, sehr geeignet für die Ziele des Projektes sind nicht klar und die Entwicklung des Prototyps.
Natürlich, vielleicht schreibe ich einen Rahmen besser geeignet.
Allgemeiner Rahmen für die Auswertung von mehreren geschätzt, dass viele Dinge nicht der Punkt, wir versuchsweise suchen die gleichen Ansichten und Anregungen sind willkommen Korrekturen!