13 Wochen Projekt – ZEND Framework (Woche 7)

Die 7. Woche ist um und damit auch das Bergfest des 13 Wochen Projekts. Für mich ging es in dieser Woche um die Einarbeitung ins ZEND Framework. Ich hatte vor ein paar Jahren schon mal ein Tutorial dazu durchgearbeitet, war aber dann nicht dran geblieben und habe daher wieder viel vergessen. Daher stand in dieser Woche die Auffrischung und Vertiefung des Wissens an.

Was ist ein Framework?

Ein Framework ist Gerüst, in welchem ein Programmierer eine Anwendung entwickeln kann. In der Regel gibt das Framework dabei die Architektur des Programms mehr oder weniger fest vor. Dadurch bleibt der Code übersichtlich und strukturiert. Zudem stellt das Framework für viele gebräuchliche Anwendungsfälle (User-Authentifizierung, Datenbankanbindung, Formulare) Klassen zur Verfügung, sodass man als Programmierer das Rad nicht jedes Mal neu erfinden muss. Dies lohnt sich vor allem bei größeren Projekten.

Das ZEND Framework ist das am meisten verbreitete PHP-Framework. Ob es auch das beste Framework ist, darüber können Programmierer sicherlich stundenlang streiten. Durch die hohe Verbreitung gibt es aber einfach viele Projekte, die bereits damit umgesetzt sind und aktive Diskussionsforen und Bücher. Dies war für mich der Grund, mich mit dem Framework zu beschäftigen. Zudem gefällt mir der Ansatz des ZEND Frameworks, dass man frei wählen kann, welche Komponenten man nutzt. Es ist also keine „Alles-oder-nichts-Wahl“, sondern man kann sich für sein Projekt auch die Rosinen des Frameworks heraus picken.

Wie ist es gelaufen?

Ich hatte mir vor einiger Zeit das Buch Besser PHP programmieren gekauft, in welchem es ein recht umfangreiches Kapitel über das ZEND Framework gibt. Natürlich reicht das nur für einen Einstieg in das Framework, ich hatte aber gehofft soweit zu kommen, dass ich ein kleines Beispielprojekt damit umsetzen kann.

Bislang bin ich jedoch nur zum allgemeinen Aufbau und der Datenbankanbindung gekommen. Für ein Beispielprojekt fehlen noch einige Dinge. Gerade die Datenbank-Klassen haben es mir aber schon ziemlich angetan. Hier mal ein kleines Beispiel, wie man z.B. einen Benutzernamen in einer User-Tabelle ändern kann:

$db_options = array('host' => 'localhost', 'username' => 'root', 'password' => 'my_password', 'dbname' => 'test');
$db = Zend_Db::factory('mysqli', $db_options);
$tbl_user = new UserTable($db);
$rowset = $tbl_user->find(1);
$row = $rowset->current();
$row->username = 'JonasB';
$row->save();

Ganz ohne SQL ändert dieser Code die Spalte username des Users mit der Id 1 auf JonasB ab. Durch den Aufruf von $row->save() wird das UPDATE an die Datenbank geschickt. Damit dieser Code funktioniert, muss lediglich in der zugehörigen Klasse UserTable der Tabellenname und die Spalte des Primärschlüssels definiert werden. Dies nur als kleines Beispiel, wie ein Framework Arbeitsabläufe vereinfachen kann.

Fazit

Auch wenn ich mich letzte Woche mit dem Framework beschäftigt habe, fehlen für ein sinnvolles Beispielprojekt noch einige Komponenten. Ich habe ja schon geplant, diese Woche meine Arbeit am Framework fortzusetzen, aber ein vorzeigbares Projekt wird dabei aller Wahrscheinlichkeit nach nicht heraus kommen. Dennoch bin ich ganz zufrieden und habe Spaß bei der Einarbeitung in das Framework.

Kommentar verfassen

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

Nach oben scrollen