PHP: Land der tausend Frameworks

Autor: Louise Ward
Erstelldatum: 6 Februar 2021
Aktualisierungsdatum: 18 Kann 2024
Anonim
Yii2 PHP Framework | Filter Gridview with Active Record ORM
Video: Yii2 PHP Framework | Filter Gridview with Active Record ORM

Inhalt

Fragen Sie mich, welches Framework ich verwenden soll, und ich werde wahrscheinlich einen mürrischen Moment mit einer alten Frau haben und Ihnen sagen, dass alle Frameworks so schlecht sind wie die anderen. Das heißt nicht, dass sie alle genau schlecht sind, aber in PHP haben wir eine unvorstellbar große Anzahl von Frameworks (normalerweise als N + 1 bezeichnet, wobei N die Anzahl der PHP-Entwickler auf der Welt ist), und sie alle haben wahrscheinlich Sinn gemacht an die Person, die sie erfunden hat.

Eine Auswahl an Frameworks ist wahrscheinlich besser als der Versuch, nur ein Framework zu verwenden, unabhängig davon, was genau Sie erstellen wollten, da es das beste ist (nach welchem ​​Maß auch immer das beste ist). Diese Auswahl an Framework-Angeboten bedeutet, dass Sie etwas auswählen können, das den Anforderungen des Projekts entspricht und möglicherweise sogar dokumentiert wird. Frameworks auf jeder Plattform sind wirklich dazu da, Struktur, wiederverwendbare Module und Bibliotheken bereitzustellen und im Allgemeinen alle langweiligen und sich wiederholenden Aufgaben zu vermeiden, die mit dem wiederholten Aufbau derselben Funktionalität verbunden sind. Zum Beispiel sollte beim Erstellen von CMS etwas Formularfelder für mich verarbeiten und validieren. Wenn ich mich selbst überlasse, verpasse ich möglicherweise etwas Wichtiges und mache lieber die Elemente jedes Projekts, die es sind anders, anstatt diejenigen, die jedes Mal gleich sind!


Full-Stack-Frameworks

Full-Stack-Frameworks wie Zend Framework können für Entwickler ohne viel Erfahrung in der Architektur ein guter Ausgangspunkt sein. Es bietet eine gute Struktur, um eine neue Anwendung aufzuhängen, und es gibt ein gutes „Ökosystem“ - viele Bücher, Tutorials und einige vernünftige Dokumentationen. Wenn Sie versuchen, eine große Anwendung zu erstellen, die von vielen Benutzern verwaltet wird, ist ein beliebtes, umfassendes Framework wahrscheinlich eine gute Wahl, da es eine Menge Struktur vorschreibt und bekannt und verstanden ist.

Eine Struktur zu haben, die bei der Trennung hilft, ist immer gut; Zu Beginn meiner Karriere habe ich mit einigen gearbeitet sehr Nachwuchsentwickler und versuchten, ihnen das zu dieser Zeit relativ neue MVC-Muster (Model View Controller) beizubringen. Wir haben die Entscheidung getroffen, Smarty in der Ansichtsebene zu verwenden. teils, damit die Designer leichter mit den Vorlagen arbeiten können, teils, damit jemand an meinen Schreibtisch kommt und sagt: "Wie mache ich X mit Smarty?" Ich könnte sagen "Mach kein X in der Ansicht!" (neun mal von zehn, das war die Antwort). Frameworks helfen uns, die gleiche Trennung in anderen Teilen unserer Anwendung zu finden. Viele von ihnen unterstützen die Integration in eine Vorlagenebene wie Smarty oder meinen neuen Favoriten Twig, sodass Sie diese Tools unabhängig vom gewählten Framework mitnehmen können.


Entlasten Sie die Last

Es gibt viele leichtere Frameworks als Zend Framework, zum Beispiel arbeite ich ziemlich viel mit CodeIgniter. Ist es so umfassend und robust wie Zend Framework? Nein, ist es nicht. Als Hilfsrahmen für die schnelle Erstellung einer Anwendung ist dies jedoch nützlich. Im Allgemeinen können sich Frameworks mit weniger "Helfer" -Funktionalität leichter zurechtfinden, da es viel offensichtlicher ist, wie die Teile zusammenpassen. In einem ungewohnten Rahmen (für mich ist das so ziemlich alles) sind es die automatischen Elemente, die das Arbeiten und Debuggen erschweren.

Das Gefühl, "in einem neuen Rahmen verloren zu sein", ist unvermeidlich und äußerst frustrierend. Selbst ein erfahrener Entwickler fühlt sich wie ein Neuling, wenn er nicht weiß, wie etwas funktioniert. Wenn Sie wirklich Pech haben, haben Sie ein Framework ausgewählt, dessen IRC-Kanal Ihnen sagt, dass Sie auch ein Idiot sind! Es ist diese sehr negative anfängliche Erfahrung, die viele Leute davon abhält, ein neues Framework zu verwenden oder eines zu übernehmen, und nur sehr wenige Frameworks leisten gute Arbeit, um neuen Benutzern bei dieser anfänglichen Hürde zu helfen.


In PHP haben wir auch einige Frameworks, die nicht wirklich so sind, wie ich das Wort normalerweise verwende. Wir haben einige schöne Komponenten-Frameworks; Sammlungen von Bibliotheken, die so konzipiert sind, dass sie nach Belieben verwendet werden können und gut zusammenspielen, wie Zeta Components (früher eZ Components) und Symfony Components (haben Sie ihre Website gesehen? Sie gewinnen den Preis für das beste Kunstwerk!). Das beste und am meisten unterschätzte davon sind natürlich PHPs eigene PEAR- und PECL-Angebote - irgendwie werden diese in dieser schönen neuen Welt der Frameworks vergessen.

Mikroframeworks

Mikroframeworks sind ein aufkommender Trend bei PHP. Dies sind superleichte Angebote, mit denen Sie die Dinge schneller zusammenkleben können. Ein gutes Beispiel ist Slim, das sehr schnell und einfach zu bedienen ist und RESTful-Konzepte versteht. Es basiert auf der Idee von "Routen", bei denen es sich um URL-Muster handelt. Sie registrieren eine Route und geben einen Rückruf, der aufgerufen werden soll, wenn diese URL angefordert wird.

Die meisten PHP-Entwickler verwenden ein Framework und bleiben dabei, oder sie verwenden eines bei der Arbeit und ein anderes für ihre Hobby- oder Open-Source-Projekte. Es besteht wenig Einigkeit über das "beste" Framework, so dass jeder nur an dem festhält, was er weiß, und das Ergebnis ist die parallele Entwicklung einer großen Anzahl von Frameworks! Ich mag es, eine Auswahl zur Auswahl zu haben, aber habe ich erwähnt, dass sie alle genauso schlecht sind wie die anderen?

Wenn Sie Zend Framework kennen, beschreiben Sie sich am Ende als Zend Framework-Entwickler. Sie würden nicht gerne in einem anderen Framework schreiben, bis Sie die Gelegenheit gehabt hätten, sich damit auseinanderzusetzen, und Sie werden sich wahrscheinlich nicht an viele der rohen PHP-Funktionen für Dinge erinnern, wenn Sie sie nicht oft verwenden. Diese Idee, dass wir Framework-spezifische Entwickler werden und nur auf Abstraktionsebenen arbeiten, ist für PHP etwas seltsam. Immerhin ist dies die Sprache "um das Webproblem zu lösen". Es ist in C geschrieben und an sich eine schnelle, leichte Sprache ... vorausgesetzt, Sie warten nicht auf die Ausführung eines großen Framework-Bootstrap-Prozesses! Aus diesem Zusammenhang ging das MicroPHP-Manifest hervor, das von einem Mann geschrieben wurde, den wir Funkatron nennen (obwohl er eigentlich Ed Finkler heißt). Es ist eine Reihe von Aussagen, die besagen, dass es in Ordnung ist, eine Reihe interoperabler kleiner Module zu erstellen, dass größere nicht besser sind und dass das Leben für Java wirklich zu kurz ist - selbst wenn es in PHP geschrieben ist.

Ihnen Empfohlen
Adobe kauft Behance
Entdecken

Adobe kauft Behance

Adobe hat Behance gekauft, die ocial-Media-Plattform, mit der Kreative ihre Arbeit online prä entieren und teilen können. Die ocial- haring-Web ite wird in die Creative Cloud von Adobe integ...
Den Lebenslauf als Infografik neu erfinden
Entdecken

Den Lebenslauf als Infografik neu erfinden

In der De ignwelt i t e unerlä lich, da ich Ihr Leben lauf von der Ma e abhebt. Ihre Konkurrenten haben nicht nur die Fähigkeiten - ie wi en auch alle über De ign! Heutzutage reicht ein...
Video-Tutorial: Farbkorrektur in After Effects
Entdecken

Video-Tutorial: Farbkorrektur in After Effects

elb t eine einfache Bewertung Ihrer Video erfordert normalerwei e, da ie einzelne Elemente oder Farben i olieren und ie eparat behandeln, um die Anpa ungen vorzunehmen, die auf den ge amten Film ange...