Das Yii2 Framework

Im Mai 2015 lernte ich hier auf Mallorca einen Kollegen kennen, der mir von dem Yii Framework erzählte. Ein paar Tage später schaute ich es mir an, probierte etwas damit rum und wie immer mit neuen Frameworks, man findet sich erstmal nicht zurecht. Dennoch setzte ich direkt ein eigenes Projekt damit gleich um sowie auch 4 Wochen später ein Kundenprojekt und war vollends begeistert. Als PHP Entwickler, vor allem wenn man sich an standardisierte Design-Patterns halten und nutzen will, ist Yii2 eine wahre Freude, vor allem weil es strikt sich an die Vorgaben hält und dadurch es auch sehr einfach einzusetzen ist, sofern man die Standard Entwurfsmuster kennt.

Die Dokumentation des Yii2 Frameworks ist zunächst mal etwas gewöhnungsbedürftig, das dürfte aber wohl bei jedem Framework der Fall sein, wenn man sich einarbeiten möchte. Nichts desto trotz ist die Doku vollständig und es werden auch die wichtigsten Elemente gut beschrieben (auf Englisch natürlich). Bei meiner Lieblings-Anlaufstelle Stackoverflow findet man ebenfalls viele Lösungen und auch so ist im Netz vieles über Yii bereits zu finden, allerdings sollte man stets darauf achten, ob dass auch für Yii2 zutrifft!

Yii2 setzt PHP 5.4.0 mindestens voraus und man sollte sich auch mit Entwurfsmuster sowie objektorientierter Programmierung auskennen.

Welche Vorteile ich bis jetzt erkannt habe

Als erstes und vor allem für mich wirklich eine echt geniale Arbeitserleichterung sind vor allem zwei Dinge:

  1. Es gibt bereits einige coole Extensions (z.B. Authorisation oder gar RBAC, etc.), die man simpel per Composer installieren und auch aktualisieren kann. Natürlich passiert das nicht auf dem Produktionsserver, aber leichter kann man seine Projekte wirklich nicht mit bereits fertigen Extensions bestücken
  2. Die Migration erlaubt es, verdammt einfach seine Datenbank nicht nur zu Projekt-Installierung zu initialisieren, sondern auch im Laufe der Entwicklung zu migrieren (oder eben zu aktualisieren). Sprich, wenn man nach 4 Wochen Entwicklung feststellt, dass ein Feld in einer Tabelle fehlt bzw. hinzu muss, erstellt man ein neues Migrationsskript mit dem entsprechenden Alter Befehl und führt schlicht auf der Konsole nur ./yii migrate aus, schon ist die DB aktualisiert *jipieehh*. Gott, wie habe ich das immer gehasst, sowas selbst implementieren zu müssen und Yii2 liefert da eine komplette Umgebung gleich mit.

Daneben gibt es aber noch einen ganzen anderer Haufen an cooler Features, die sicherlich bei dem einen oder anderen Framework auch so existieren, aber entweder so gut wie nur unmöglich um- / einzusetzen waren oder eben so starr waren, dass man keine Möglichkeit hatte, mal eben nicht die aus „Israel“ vorgegebenen Weg zu gehen (*schimpf*).

Ein Beispiel sind Assets. In Yii2 ist eine Assets Implementierung bereits vorhanden, so dass man mittels seiner eigenen Assets-Klassen aufgeteilt je Seite oder eben für das komplette Projekt festlegt und entweder je nach Seite die Asset-Klasse im View registriert oder eben Yii2 die komplette Verwaltung der Assets belässt.

Richtig geil ist aber, dass man auch scss anlegen kann und Yii2 automatisch diese SASS Dateien kompiliert und sogar minifiziert und im Projekt zur Verfügung stellt. Juhuu zum geilen Performance-Gewinn!

Mein Fazit nach nun 3 Monaten arbeiten mit Yii2

Ehrlich gesagt, bringt mir Yii2 soviel Spaß, dass sogar glatt mein beliebtes WordPress in den 2. Rang abrutscht. Praktisch täglich finde ich immer wieder neue kleine richtig geile Funktionen von Yii2 heraus und bin begeistert, wie herrlich simpel das gelöst wurde. Da Yii2 direkt auf Twitter Bootstrap basiert und bereits einen ganzen Haufen cooler Widgets mitbringt, die auf Bootstrap basierende Elemente (wie Tabs, Menüs, Accordions, Panels, Grids, Lists, etc.) direkt mitliefert, sind funktionierende Prototypen total simpel und verdammt schnell umgesetzt und somit ein erheblicher Zeitgewinn drin.

Ich möchte nicht gerade behaupten, dass ich deshalb Projekte schneller abschließen kann, denn der letzte Feinschliff ist doch ein umfangreicher Teil der einige Stunden kostet, aber allein schon dass Yii2 direkt Unit-Tests mitbringt, einen implementierten eigenen Debugger mitbringt und auch viele grundsätzliche Funktionalität direkt schon vorhanden sind, bringen den Entwickler verdammt schnell zum funktionierenden Prototypen, der Kunde sieht bereits schon nach kurzer Entwicklungszeit wohin die Reise geht und man kann als Entwickler direkt schon viel früher über noch fehlende Überlegungen reagieren.

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.