Von der Weiterleitung von HTTP-Anfragen über den Zugriff auf Datenbanken bis hin zur Darstellung von Benutzeroberflächen haben die meisten Webanwendungen viel gemeinsam. Bei vielen von ihnen können sich Besucher anmelden, und eine Webanwendung ohne E-Mail-Versand ist kaum vorstellbar.
Software-Frameworks sind eine Möglichkeit, diese Beobachtung in die Tat umzusetzen.
Durch die Extraktion gemeinsamer Merkmale und der zugrunde liegenden Architektur einer Anwendung und deren Bündelung in einer Sammlung wiederverwendbarer Vorlagen und Bibliotheken ermöglichen Frameworks Entwicklern, sich auf das zu konzentrieren, was ihre Projekte auszeichnet.
Tatsächlich verwenden Sie bereits ein temporäres Framework, wenn Sie ein früheres Projekt als Vorlage verwenden, anstatt bei Null anzufangen. Beliebte PHP-Frameworks wie Laravel, Yii oder Symfony führen diesen Ansatz zu seiner logischen Konsequenz, indem sie sich darauf konzentrieren, die Architektur und Tools des Frameworks zu entwerfen und sie dann anderen Entwicklern zur Verwendung in ihren Projekten zur Verfügung zu stellen.
Aber ist die Verwendung eines Frameworks immer der beste Ansatz? Oder ist es manchmal sinnvoll, einfach reines PHP zu verwenden und von vorne zu beginnen?
Um diese Frage zu beantworten, werden wir uns in diesem Tutorial fünf Vor- und Nachteile der Verwendung von PHP-Frameworks ansehen.
Sehen wir uns zunächst an, wie Ihnen die Verwendung eines PHP-Frameworks bei der Anwendungsentwicklung helfen kann.
In der heutigen Startup-Welt, die auf Experimenten, schnellem Prototyping und der schnellstmöglichen Markteinführung eines Minimum Viable Product basiert, kann die Geschwindigkeit der Entwicklung über Erfolg oder Misserfolg Ihres Unternehmens entscheiden.
Die Verwendung eines PHP-Frameworks ist eine Möglichkeit, diese Anforderung zu erfüllen.
Ein gut gestaltetes PHP-Framework wählt die besten Implementierungen häufiger Probleme aus der Open-Source-Community aus und baut darauf auf, um Ihnen eine Anwendungsarchitektur (in den meisten Fällen basierend auf dem Model-View-Controller-Muster) zur Verfügung zu stellen, die Sie bei Ihrer Entwicklung unterstützt.
Auf diese Weise müssen Sie keine Zeit damit verbringen, die Architektur Ihrer Anwendung zu planen und die verschiedenen verfügbaren Bibliotheken zu bewerten, sondern beginnen mit einer voll funktionsfähigen Vorlage und erstellen direkt die für Ihre Anwendung spezifischen Funktionen. Viele PHP-Frameworks verfügen außerdem über Befehlszeilentools, mit denen Sie Code generieren und noch mehr wertvolle Entwicklungszeit sparen können.
Frameworks beschleunigen zwar die Entwicklung, machen Sie aber auch sicherer: Sie arbeiten schnell, aber nicht mit schnellen und schmutzigen Lösungen, sondern mit bewährten Best Practices und vorgefertigten Komponenten zur Implementierung.
Die im modernen PHP-Framework enthaltenen Lösungen werden kontinuierlich von mehreren Entwicklern, die das Framework verwenden, getestet, begutachtet und validiert. Da das Framework Open Source ist, werden Sicherheitsprobleme und andere Probleme, die Sie bei proprietärem Code möglicherweise übersehen, schnell erkannt und behoben.
Dennoch ist es wichtig, sich daran zu erinnern, dass die Verwendung eines Frameworks nicht bedeutet, dass man die Sicherheit und gute Entwicklungspraktiken völlig vergessen kann. Stellen Sie sicher, dass Sie das Framework wie vorgesehen verwenden, es auf dem neuesten Stand halten und Ihren Teil zu Dingen wie der Parametervalidierung beitragen – mit den Tools des Frameworks ist das gar nicht so schwierig.
Indem sie Ihrer Anwendung eine solide Struktur verleihen und Sie dazu drängen, Best Practices und Muster für die Softwareentwicklung zu übernehmen, unterstützen Sie PHP-Frameworks beim Schreiben von Code, der lose gekoppelt ist und so wenig Duplikate wie möglich aufweist. Mit anderen Worten: Es ist einfach zu lesen, zu testen, zu warten und weiterzuentwickeln.
Fast alle gängigen PHP-Frameworks sind heute objektorientiert und wurden mit Blick auf automatisierte Tests und sogar testgetriebene Entwicklung entwickelt.
Du musst trotzdem deinen Teil dazu beitragen. Aber anstatt bei Null anzufangen, ist es sicherlich hilfreich, ein Framework und eine Dokumentation zu haben, die Sie an diese Konzepte erinnert und Sie dazu drängt, sie zu verwenden.
Eine weitere Möglichkeit, ein Framework zur Vereinfachung der Anwendungswartung zu nutzen, sind seine gemeinsam genutzten Komponenten. Da Framework-Bibliotheken und Hilfsprogramme unabhängig von Ihrer Anwendung entwickelt werden, können Sie einen Großteil der Wartung Ihrer Anwendung den Framework-Entwicklern überlassen.
In gewisser Weise ist es, als ob ein Entwicklerteam kostenlos für Sie arbeiten würde!
Als Entwickler sind Sie mit Ihren Klassen und Funktionen vertraut und können diese problemlos nutzen. Aber wenn man Teammitglieder hinzuzieht, ändern sich die Dinge.
Ohne Kenntnis Ihrer Designentscheidungen und ohne vollständige Dokumentation (seien wir ehrlich: Besonders in einer Welt der schnellen Entwicklung ist Dokumentation oft ein nachträglicher Gedanke) wird es für sie schwierig sein, Ihren Anwendungscode zu verstehen.
Die Verwendung eines PHP-Frameworks erleichtert neuen Entwicklern den Einstieg in die Arbeit an Projekten. Sie sind höchstwahrscheinlich bereits mit dem Framework vertraut und können ihre ganze Aufmerksamkeit darauf richten, die Details der Anwendung zu verstehen. Auch wenn das Framework für sie neu ist, helfen ihnen Dokumentation, Online-Tutorials und vertraute Designmuster dabei, sich mit minimalem Aufwand auf den neuesten Stand zu bringen.
In der Zwischenzeit können Sie Ihre App weiter entwickeln, anstatt den Entwicklern Ihre Denkweise beizubringen.
Schließlich ergibt sich ein wesentlicher Vorteil der Verwendung von PHP-Frameworks aus den aktiven Entwickler- und Benutzergemeinschaften, die sich um sie herum versammeln. p>
Alle wichtigen Frameworks ziehen Open-Source-Mitwirkende an, die zusätzlich zur Arbeit am Framework selbst andere Widgets, Bibliotheken und Hilfskomponenten entwickeln, die andere in ihre Anwendungen integrieren können. Andere Mitwirkende schreiben Tutorials und Bücher oder erstellen Videos, in denen sie detailliert erklären, wie sie das Framework in realen Projekten verwenden.
Als Teil einer solchen Entwicklergemeinschaft werden Sie als Entwickler wachsen, schnell lernen und das Gelernte in der Anwendungsentwicklung anwenden.
Wenn Sie möchten, können Sie etwas zurückgeben und an Open-Source-Projekten auf jede Art und Weise teilnehmen, die sich für Sie natürlich und erfüllend anfühlt.
Da wir nun gesehen haben, wie die Verwendung eines PHP-Frameworks Ihnen bei der Entwicklung helfen kann, werfen wir einen Blick auf seine Nachteile und warum es manchmal die bessere Option sein könnte, kein PHP-Framework zu verwenden.
Im Vergleich zur Ausführung eines einfachen PHP-Skripts erhöhen PHP-Frameworks immer die Komplexität und den Overhead in Form von Klassen und Bibliotheken, die vor dem Aufruf des Codes geladen werden. Bei schnellen Skripten und APIs mit begrenztem Funktionsumfang, die schnell ausgeführt werden müssen, kann dieser Unterschied erheblich sein.
Bei den meisten Webanwendungen hängt die Effizienzauswirkung eines Frameworks jedoch mehr davon ab, wie Sie es verwenden, als vom Framework selbst. Während die Active Record-Implementierung beispielsweise eine bequeme Möglichkeit ist, auf eine Datenbank zuzugreifen, macht es keinen Sinn, sie zu verwenden, wenn mehrere Zeilen in der Datenbank gleichzeitig verarbeitet werden müssen.
Es kommt also darauf an, die Anforderungen der Anwendung zu verstehen, sich aber nicht auf eine bestimmte Art der Nutzung festzulegen. Selbst bei Verwendung eines Frameworks ist es manchmal sinnvoll, Code auf einer niedrigeren Abstraktionsebene zu schreiben.
Die Idee des PHP-Frameworks besteht darin, eine universelle Lösung für die sich wiederholenden Anforderungen zu sein, auf die die meisten Entwickler bei der Entwicklung von Webanwendungen stoßen. Aber wo ziehen wir die Grenze zwischen dem, was im Framework enthalten ist, und dem, was der Anwendung (oder dem Add-on eines Drittanbieters) zur Implementierung überlassen bleibt?
Einigen Entwicklern zufolge gehen hier viele Frameworks schief.
Rasmus Lerdorf, der Erfinder von PHP, sagte einmal:
„Niemand hat ein ganz bestimmtes Problem, das er lösen möchte. Generische Frameworks können dieses Problem zwar lösen, aber normalerweise auf eine Weise, die einem viele andere Dinge bringt, die man nicht braucht.“ Beheben Sie das Problem. Irgendwann wird jede Anfrage abgeschlossenWenn Sie sich also für die Verwendung eines Frameworks entscheiden, stellen Sie immer sicher, dass Sie eines auswählen, das Ihren Anwendungsanforderungen entspricht.
Obwohl die meisten Frameworks auf Lazy Loading basieren und keine Teile des Frameworks enthalten, die nicht von der Anwendung verwendet werden, ist die zusätzliche Komplexität dennoch vorhanden, was zu unnötigen Änderungen führt, wenn Sie die mit dem Framework gelieferte Funktionalität entfernen, Sie aber nicht brauchen.
3. Frameworks brauchen Zeit, um sie zu erlernen und zu beherrschen
Während ein PHP-Framework Sie dazu drängt, großartigen Code zu schreiben, garantiert es nicht, dass dies auch geschieht. Wenn Sie ein Framework verwenden, ohne es und die dahinter stehenden Designmuster zu verstehen, wird es wahrscheinlich zu einem großen, strukturierten Durcheinander kommen.
Für Personen, die diese Designprinzipien bereits aus anderen Frameworks oder Projekten kennen, wird die Lernkurve relativ kurz sein. Für weniger erfahrene Entwickler ist die Lernkurve länger. Ganz zu schweigen von der Beherrschung des Frameworks.
Wenn Sie es also eilig haben und Ihr Projekt klein ist, ist es möglicherweise nicht der richtige Zeitpunkt, mit dem Erlernen eines neuen Frameworks zu beginnen. Ziehen Sie stattdessen die Verwendung eines Mikroframeworks in Betracht oder beginnen Sie sogar ganz von vorne und verwenden Sie einige Bibliotheken, mit denen Sie vertraut sind.
Dann nehmen Sie sich die Zeit, ein vollständiges PHP-Framework zu erlernen, wenn Ihr Zeitplan es zulässt.
4. Eingeschränkte Sicht und Kontrolle
Während viele Teile der Framework-Vorlage angepasst werden müssen, sind der Kern des Frameworks und seine Bibliotheken wie eine Blackbox, mit der Sie arbeiten können, über die Sie jedoch nicht viel Kontrolle haben. Sie können Verbesserungen vorschlagen, aber letztendlich entscheiden die Entwickler des Frameworks, ob sie die Änderung einbeziehen.
Wenn Sie außerdem mit der Verwendung eines Frameworks beginnen, bevor Sie die PHP-Sprache selbst vollständig verstanden haben, kann es sein, dass Sie die Funktionen des Frameworks mit denen der Sprache verwechseln und am Ende die Funktionen des Frameworks verwenden, selbst wenn reines PHP die bessere Wahl ist.
5. Das Framework führt externe Abhängigkeiten ein
Fragen Sie sich, was Sie tun würden, wenn die Entwicklung des Frameworks aufgegeben würde oder in eine Richtung gehen würde, die Sie nicht verfolgen wollten.
Eine gute Möglichkeit, dieses Risiko zu verringern, besteht darin, zuverlässige, beliebte Frameworks mit aktiven Entwickler- und Benutzergemeinschaften zu verwenden. Dennoch lohnt es sich, darüber nachzudenken: Sind die Vorteile der Verwendung eines Frameworks ausreichend, um das Risiko wert zu sein?
Ein modernes PHP-Framework ist ein leistungsstarkes Werkzeug im Werkzeugkasten eines Softwareentwicklers: Es kann Ihnen viel Zeit und Mühe sparen und Ihnen Sicherheit bei der Entwicklung von PHP-Anwendungen geben. Denken Sie daran, dass dies nicht das Erlernen des PHP-Kerns ersetzen sollte!
Der Schlüssel zu der oben genannten Schlussfolgerung liegt jedoch in der Wahl des richtigen Werkzeugs für die jeweilige Aufgabe. Jedes Projekt ist anders und selbst ein Framework, das für ein Projekt funktioniert, passt möglicherweise nicht gut zum nächsten. Streben Sie nach Einfachheit und fragen Sie sich, ob ein vollständiges Framework für das Projekt geeignet ist oder ob die Verwendung eines Mikro-Frameworks wie Lumen eine bessere Lösung ist.
Von Grund auf mit einfachem PHP anzufangen ist selten die beste Option, aber es lohnt sich auch, darüber nachzudenken, wenn Sie eine sehr einfache Anwendung entwickeln (z. B. eine Website ohne viel Interaktivität) – und denken Sie daran, dass Sie jederzeit mit Composer eine Bibliothek Ihrer Wahl auswählen können um es zu verlängern.
Stellen Sie bei der Auswahl eines Frameworks sicher, dass das von Ihnen gewählte Framework aktiv entwickelt und unterstützt wird und guten Software-Engineering-Praktiken folgt. Auf diese Weise stellen Sie sicher, dass das zugrunde liegende Framework nicht stillschweigend stirbt, und machen Ihre Anwendung zukunftssicher.
Abschließend ist es eine gute Idee, sich mit einem oder mehreren modernen PHP-Frameworks vertraut zu machen, auch wenn Sie sich gegen die Verwendung entscheiden. Ihr Studium ist eine hervorragende Möglichkeit, Ihre Fähigkeiten in der Softwareentwicklung zu erlernen und zu verbessern und Ihnen zu helfen, in der sich ständig weiterentwickelnden Welt der PHP-Entwicklung immer einen Schritt voraus zu sein.
Das obige ist der detaillierte Inhalt vonVor- und Nachteile der Verwendung eines PHP-Frameworks: Ist es das Richtige für Sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!