Heim >Backend-Entwicklung >PHP-Problem >Was sind die gängigen Frameworks für die PHP-Entwicklung?

Was sind die gängigen Frameworks für die PHP-Entwicklung?

王林
王林nach vorne
2020-10-28 17:39:013308Durchsuche

Was sind die gängigen Frameworks für die PHP-Entwicklung?

Einführung in häufig verwendete Frameworks für die PHP-Entwicklung:

(Video-Tutorial-Empfehlung: php-Video-Tutorial)

1. ThinkPHP

ThinkPHP (FCS) ist ein leichtes mittelgroßes Framework, das von Javas Struts übernommen wurde Struktur Das chinesische PHP-Entwicklungsframework, das eingeführt wurde. Es verwendet eine objektorientierte Entwicklungsstruktur und einen MVC-Modus und simuliert die Implementierung der Struts-Tag-Bibliothek. Es ist in jeder Hinsicht benutzerfreundlicher. Der Einstieg ist für Entwickler, die mit J2EE vertraut sind, relativ einfach PHP-Framework. Der Zweck von ThinkPHP besteht darin, die Entwicklung zu vereinfachen, die Effizienz zu verbessern und einfach zu erweitern. Die Datenbankunterstützung umfasst bereits Unterstützung für MySQL, MSSQL, Sqlite, PgSQL, Oracle und PDO. ThinkPHP verfügt über eine umfangreiche Dokumentation und Beispiele, und das Framework ist stark kompatibel, seine Funktionen sind jedoch begrenzt, sodass es besser für die Entwicklung kleiner und mittlerer Projekte geeignet ist.

Vorteile:

1. Mit Hilfe ausgereifter Java-Ideen

2. Einfacher Einstieg, umfangreiche chinesische Dokumentation; geringe Lernkosten, hohe Community-Aktivität

3 voll kompatibel, unterstützt UTF8 usw. vollständig.

4. Geeignet für die Entwicklung kleiner und mittlerer Projekte

5. Das Composer-Paketverwaltungstool wird ab thinkphp3.2.2 eingeführt.

Nachteile

1. Die Unterstützung für Ajax ist nicht sehr gut; Die Verzeichnisstruktur ist im Vergleich zu anderen etwas verwirrend.

3 Der Einstieg ist einfach, aber es ist schwierig, sie gründlich zu erlernen.

2. Yii

Yii ist ein leistungsstarkes, komponentenbasiertes PHP-Framework für die Entwicklung umfangreicher Webanwendungen. Yii ist in striktem OOP geschrieben und verfügt über vollständige Bibliotheksreferenzen und umfassende Tutorials. Von MVC, DAO/ActiveRecord, Widgets, Caching, hierarchischem RBAC, Webdiensten bis hin zu Theming, I18N und L10N bietet Yii fast alles, was für die heutige Web 2.0-Anwendungsentwicklung benötigt wird. Tatsächlich ist Yii eines der effizientesten PHP-Frameworks.

Vorteile

1. Reines OOP

3. Das Modell ist einfach zu verwenden

4. Hervorragende Leistung und umfangreiche Funktionen

5. Verwenden Sie Befehlszeilentools.

6. Unterstützen Sie das Composer-Paketverwaltungstool

1. Weniger Anleitung und Berücksichtigung der Modellebene

3. Erfordert Kenntnisse in der PHP-Technologie Sie müssen sich mit der OOP-Programmierung auskennen!

5. Die ideale Ansicht ist möglicherweise nur HTML-Code und beinhaltet keinen PHP-Code.

3. Laravels Designidee ist sehr fortschrittlich und eignet sich sehr gut für die Anwendung verschiedener Entwicklungsmodi TDD, DDD und BDD.

Unterstützt das Composer-Paketverwaltungstool. sowie verschiedene Entwurfsmuster, IoC-Container, Abhängigkeitsinjektion usw.

Nachteile

1. Basierend auf einem komponentenbasierten Framework, daher ist es relativ aufgebläht

4. CodeIgniter

Vorteile:

1.Code Igniter befürwortet das Prinzip „Einfachheit ist schön“. Es gibt keine ausgefallenen Designmuster, keine ausgefallenen Objektstrukturen, alles ist so einfach. Es sind nur ein paar Codezeilen erforderlich, um die Ausführung zu starten, und ein paar weitere Codezeilen, um sie auszugeben. Man kann sagen, dass es sich um ein Modell „großer Einfachheit“ handelt.

2. Die Konfiguration ist einfach, alle Konfigurationen werden mit PHP-Skripten konfiguriert und die Ausführungseffizienz ist hoch.

3. Es verfügt über ein vorläufiges Layout Funktionen und können ein bestimmtes Erscheinungsbild der Level-Schnittstelle erzielen.

5 Die Datenbankschicht ist gut gekapselt und verfügt über grundlegende MVC-Funktionen. einfach zu bedienen und der Lernaufwand ist gering. Detaillierte Dokumentation

8 Es enthält viele einfache und benutzerfreundliche Bibliotheken und das Framework ist für kleine Anwendungen geeignet

1. Die Umsetzung selbst ist nicht ideal.

2. Die interne Struktur ist zu verwirrend, obwohl sie einfach und leicht zu bedienen ist.

3. Verstehen Sie die Modellebene einfach als Datenbankoperation

4. Das Framework ist etwas einfach und kann nur die Anforderungen kleiner Anwendungen erfüllen.

Bewertung :

Im Allgemeinen lohnt es sich, CodeIgniter zu verwenden, um einfache und schnelle Anwendungen auszuführen. Gleichzeitig kann ein gewisses Maß an Layout erstellt werden, um die Wiederverwendung von Vorlagen zu erleichtern. Die Datenoperationsschicht ist gut gekapselt, und CodeIgniter wird nicht verwendet Viele zu komplexe Entwurfsmuster, was die Ausführungsleistung und die Lesbarkeit des Codes verbessert. Auch die zusätzliche Bibliothek ist ziemlich gut, einfach und effizient.

5. Zend Framework

Vorteile:

1. Eine große Anzahl neuer objektorientierter Funktionen in PHP5 wird angewendet: Schnittstellen, Ausnahmen, abstrakte Klassen, SPL usw. Die Anwendung dieser Dinge macht Zend Framework äußerst modular und flexibel.

2 Befolgen Sie strikt die Prinzipien der „Programmierung für Schnittstellen“ und der „Einzelobjektverantwortung“. Die Architektur ist sehr elegant und die Ausführungseffizienz ist relativ einfach. 5. Es verfügt über eine Routing-Funktion und die Konfigurationsdatei ist relativ leistungsfähig (kann XML und PHP INI verarbeiten). )

6. Kann die Modellebene zusätzlich zu Datenbankoperationen intuitiv unterstützen (besser als CodeIgniter und CakePHP) und kann die Loader-Funktion problemlos verwenden, um andere neu hinzugefügte Klassen zu laden.

7 Die Cache-Funktion ist von vorne sehr leistungsstark -End-Cache zum Back-End-Cache Alles unterstützt, der Back-End-Cache unterstützt Memcache, APC, SQLite, Dateien usw.

8. Die Datenbankbetriebsfunktion ist sehr leistungsfähig und unterstützt verschiedene Treiber (Adapter)

9. Die Dokumentation ist sehr vollständig und in der heimischen Community sehr ausgereift.

Nachteile:

1 , und die Ansichtsebene ist einfach zu implementieren (nichts wie die Implementierung) und die Front-End-Seite kann nicht leistungsstark gesteuert werden

2 Ohne automatisierte Skripte muss eine Anwendung erstellt werden, einschließlich der Eingabedatei Manuell selbst, und die Einstiegskosten sind hoch

3 Bei einfachen und kleinen Projekten werden dagegen höhere Anforderungen an Entwickler gestellt, da im Framework viel objektorientiertes Design verwendet wird, was indirekt zunimmt Die Entwicklungskosten des Projekts.

Bewertung:

Als offizielles Framework möchten sie andere Frameworks verdrängen und viele leistungsstarke Klassenbibliotheken kapseln, um ihrem Entwicklungsteam zentrale Dienste anzubieten ist sehr leistungsfähig und durchaus in der Lage, sehr leistungsstarke Produkte zu entwickeln. Daher ist es grundsätzlich sicher, dass Zend Framework eine glänzende Zukunft hat, wenn mehr Zeit in die Verbesserung des Frameworks investiert wird. Ebenso ist die Zend Framework-Architektur selbst relativ elegant, was zeigt, dass Zend offiziell über viele Experten verfügt und in Bezug auf Designkonzepte relativ fortgeschritten ist. Obwohl einige Funktionen nicht vollständig implementiert sind, wie z. B. die Ansichtsebene, Automatisierungsskripte usw., hängen diese alle davon ab auf die Zukunft. Upgrade

6. CakePHP

Vorteile:

1. Das Framework, das RoR am ähnlichsten ist, einschließlich der Designmethode und der Active Record-Methode des Datenbankbetriebs

2 Zusätzliche Bibliotheken, alle Die Funktionen sind reine Frameworks und die Ausführungseffizienz ist ziemlich gut

3 Die Funktionen hasOne und hasMany der Datenbankschicht sind sehr leistungsfähig und eignen sich für komplexe Geschäftsverarbeitungsfunktionen mäßig

5. Der automatische Aufbau von Gerüsten ist sehr leistungsfähig und für mittelgroße Anwendungen geeignet

6. Verfügt über eine automatische Befehlszeilenskriptfunktion

8 vollständig und die Lernkosten sind mittel

Nachteile:

1 Ein sehr ernstes Problem bei CakePHP besteht darin, dass es das Modell als eine Operation auf Datenbankebene versteht, was seine Fähigkeit, anders als die Datenbank zu arbeiten, ernsthaft beeinträchtigt

2 ist etwas schwach

3. Die Konfigurationsfunktion ist etwas schwach

4. Nicht für große Anwendungen geeignet, nur für mittlere Anwendungen geeignet, der Lernaufwand ist für kleine Anwendungen etwas höher

Generell gilt: Das CakePHP-Framework stellt eine sehr wichtige Ära dar und ist ein Vertreter des PHP-Frameworks. Viele selbst geschriebene Frameworks imitieren die CakePHP-Methode, die ein bahnbrechendes Produkt ist, das die agile Entwicklungsmethode und die Designphilosophie von RoR offenbart Betrachtet man Datenbankoperationen als einziges Modell, ist es auch eine Wahl für das Entwicklungsframework, das für Web2.0-Websites verwendet wird

Vorteile:

1 implementiert die drei Schichten von MVC

2. Kapselt alles, einschließlich $POST, $GET-Daten, Ausnahmebehandlung, Debugging-Funktion, Datenerkennung

3. Enthält eine leistungsstarke Caching-Funktion

4 Klassen nach Belieben

5. Leistungsstarke Sprachunterstützung

6. Es verfügt über sehr leistungsstarke Ansichtsebenenoperationen und kann mehrere Dateien nacheinander enthalten. 7. Sehr leistungsstarke Konfigurationsfunktion, die die XML-Konfiguration verwendet, um alle Frameworks und Programmausführungsverhalten zu steuern

8. Enthält leistungsstarke mehrstufige Projekte und Anwendungsverwaltung: Projekt -> Anwendung -> Modul -> Aktion, die die Anforderungen mehrerer Anwendungen unter einem Projekt erfüllen kann, und jede Ebene kann ihre eigene Klassenbibliothek definieren. Konfigurationsdatei, Layout

9. Sehr leistungsstarke Befehlszeilenfunktionen, einschließlich Erstellen von Projekten, Erstellen von Anwendungen, Erstellen von Modulen, Aktualisieren des Caches usw.

10 Symfony ist definitiv die erste Wahl für die Entwicklung großer und komplexer Projekte Spart erheblich Entwicklungskosten und ermöglicht die Zusammenarbeit mehrerer Personen. Nachdem die Basisklasse auf Projektebene definiert wurde, kann der Code wiederverwendet werden.

1 Problem ist auch die Verwendung zu vieler Open-Source-Projekte mit unterschiedlichen Stilen in einem Framework

2 Da Mojavi und Propel selbst recht komplex sind und schwer zu verstehen und zu erlernen sind Die Caching-Funktion kann nicht gesteuert werden und wird bei jeder Entwicklung und Fehlerbehebung immer zwischengespeichert. Sie müssen Symfony CC und Symfony RC ausführen, um den Cache zu leeren und neu zu erstellen. Die Effizienz ist nicht sehr hoch, insbesondere beim Parsen Vorlagen und das Lesen von Konfigurationsdateien, was viel Zeit in Anspruch nimmt Das Einzige, was mit den leistungsstarken Frameworks im Java-Bereich konkurrieren kann, ist natürlich kompliziert zu erlernen, aber sie sind auch hilfreich für die Projektentwicklung, daher wird es mir natürlich empfohlen, Symfony zur Abwicklung meiner Projekte zu verwenden. und ich denke, es lohnt sich. Die späteren Wartungskosten sind relativ gering und die Wiederverwendbarkeit ist sehr stark. Wenn Sie Symfony für komplexere Internetprojekte verwenden, müssen Sie daher das Problem der Datenbankverteilung berücksichtigen. Dann müssen Sie die mit Symfony gelieferte Datenbankoperationsschicht aufgeben und sie selbst definieren. Natürlich unterstützt Symfony die beliebige Konstruktion der Modellschicht

Gesamtbewertung:

Die oben genannten Frameworks haben jeweils ihre eigenen Eigenschaften und sind alle Open-Source-Projekte, aber die Projekte, auf die die Frameworks abzielen, sind unterschiedlich:

1

2. Mittelgroße Projekte: CakePHP, Zend Framework, Laravel, Thinkphp

3. Große Schwergewichtsprojekte: Yii, Symfony, Laravel

Bei der Auswahl von Projekten müssen Sie die Anpassung vollständig berücksichtigen Flexibilität und Skalierbarkeit des Frameworks, da nicht bei jedem Projekt sicher sein kann, ob Änderungen vorgenommen werden, wenn sich die Anforderungen ändern.

Verwandte Empfehlungen: php-Training

Das obige ist der detaillierte Inhalt vonWas sind die gängigen Frameworks für die PHP-Entwicklung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen