Anzeige
Anzeige
UX & Design
Artikel merken

Mehr Freiraum für Webentwickler: Mit dem Zend Framework in die Zukunft

PHP-Frameworks schießen derzeit wie Pilze aus dem Boden, schon jetzt sind es um die Hundert, die existieren oder angekündigt sind. Doch beim Durchforsten des üppigen Angebots sollten sich Entwickler darüber im Klaren sein, dass das gewählte Framework nicht nur für aktuelle, sondern auch für zukünftige Projekte taugen muss. Der Artikel stellt mit Zend Framework eines der zukunftsträchtigsten PHP-Frameworks vor.

4 Min. Lesezeit
Anzeige
Anzeige

Zend Framework [1] unterscheidet sich von den meisten anderen Frameworks dadurch, dass es im Grunde ein Komponenten-Framework ist und die schnelle Erstellung von Model-View-Controller-Anwendungen (MVC) unterstützt, ohne einen bestimmten Programmierstil vorauszusetzen. Dazu nutzt es Werkzeuge und Funktionalitäten, die in PHP 5.1 integriert sind. Derzeit setzt Zend Framework PHP in Version 5.1.4 oder höher voraus. Mit der robusten MVC-Architektur können Entwickler unkompliziert arbeiten und schnell ihre eigenen Programmsteuerungen, Präsentationen und Modelle erstellen. MVC trennt dabei die Business-Logik vom User-Interface-Design und bietet so eine ideale Basis für die Entwicklung von anspruchsvollen Webapplikationen.

Datenzugriff per Abstraktion

Anzeige
Anzeige

Der Database Abstraction Layer von Zend Framework unterstützt eine ganze Reihe von Aufgaben, beispielsweise die Suche nach einer Komponente, die automatisch die Applikation beim Gebrauch mehrerer Datenbanken schützt oder die vereinfachte Entwicklung eines eigenen SQL-Codes. Mit den eingebauten Werkzeugen für die Generierung von SQL-Code lassen sich Anwendungen entwickeln, die mit relationalen Datenbanken von MySQL bis DB2 zusammenarbeiten. Die unübersichtlichen Details von SQLverbirgt das Zend Framework hinter einer einfach gehaltenen Schnittstelle. So können sich Entwickler voll darauf konzentrieren, ihre Applikation fertigzustellen. Wer allerdings seine eigenen SQL-Befehle von Hand schreiben möchte, kann auch das mit dem Zend Framework tun. Voraussetzung dafür ist, dass die Zieldatenbank, mit der kommuniziert werden soll, von vornherein bekannt ist. Das Framework erledigt dann den eigentlichen Datenaustausch und die Formatierung. Bei all den Möglichkeiten besteht jedoch keine grundsätzliche Abhängigkeit zu „Zend_Db“. Entwickler, die bereits andere Datenbank-Abstraktionsklassen wie MDB2 oder ADODB nutzen, können diese alternativ zu „Zend_Db“ in Zend-Framework-Projekte einbinden.

Ressourcen schonen mit Zend_Cache

Besonders nützlich für den schnellen Betrieb einer PHP-Anwendung ist
der Cache von Zend Framework. Genau wie herkömmliche Caching-Mechanismen übernimmt
„Zend_Cache“ viele Speicheraufgaben. So sind nur wenige Codezeilen
notwendig, um einfache Aufgaben wie das Zwischenspeichern
von SQL-Ergebnissen zu aktivieren. Aber auch komplexe Aufgaben wie
das bedingte Speichern einzelner Teile einer PHP-Anwendung können mit
Zend_Cache bewerkstelligt werden. Mit unterschiedlichen „TTLs“ (Time to
Live) in jedem Cache können auch komplizierte Caching-Schemata
implementiert und verwaltet werden. Zend_Cache kann auch mit
Benutzer-Frontend- und Benutzer-Backend-Optionen konfiguriert werden:
Frontend-Optionen zum Cachen von HTML-Seiten, von Ergebnissen eines
Funktionsaufrufs oder von PHP-Klassen sind in Zend_Cache bereits enthalten. Im Backend bietet Zend_Cache zusätzlich zum herkömmlichen
dateibasierten Caching vorkonfigurierte Optionen für SQLLite, APC und
Zend Platform.

Anzeige
Anzeige

Aufbau einer Service-Architektur

Bereits beim Entwicklungsbeginn von Zend Framework wurde eine
Service-Architektur berücksichtigt. Dementsprechend hat Zend_Service
objektorientierte Schnittstellen für bestehende Web Services und eine
Architektur, mit der andere Services unkompliziert entwickelt werden
können. Viele der Services bauen auf „Zend_Rest_Client“ auf, der die
komplette Interaktion bewältigt. Entwickler sollen sich dadurch voll auf den Aufbau der Schnittstelle konzentrieren können. Sollte ein Service
nicht vorkonfiguriert sein, bindet Zend Framework Klassen wie
„Zend_Rest_Client“ ein.

Anzeige
Anzeige

Benutzer und Sessions

Im Gegensatz zu vielen anderen Frameworks, die Entwicklern ein Basis-Interface zum Verwalten von Session-Werten bereitstellen, bietet Zend Framework Kontrollmöglichkeiten über seine datenbankunabhängige, objektorientierte Schnittstelle. Viele Komponenten in Zend Framework machen umfassenden Gebrauch von „Zend_Session“-Komponenten. Ein Beispiel dafür ist „Zend_Auth“: Wird diese Komponente in ihrer ursprünglichen Konfiguration angewendet, erstellt sie automatisch ein Session-Interface, um die Authentifizierungsinformationen zu speichern. Die objektorientierte Schnittstelle erlaubt den Zugriff auf Funktionen, die normalerweise nicht für PHP-Sessions verfügbar sind. So verbindet Zend_Session unterschiedliche Konzepte wie Namensräume und Leserechte, damit andere Bereiche der Anwendung Informationen nicht verändern. Die Konzepte gibt es zusätzlich zu den Standard-PHP-Optionen auch zum Aufstocken der Speicher-Engine.

Die Dokumentation

Eine Stärke von Zend Framework ist die Dokumentation. Sie wird mit jeder Zwischenversion aktualisiert und gilt als offizielle Dokumentation. Innerhalb des Zend-Framework-Wikis findet sich im Entwicklerbereich eine noch aktuellere Version der Dokumentation [2]. Sie wird alle 30 Minuten automatisch aus den aktuell bearbeiteten Dokumenten der beteiligten Entwickler erstellt. Wer die neusten Änderungen von Zend Framework sucht, kann sich somit auf die stets aktuelle Dokumentation im Wiki beziehen. Schließlich gibt es auch eine Dokumentation für die Klassen, die noch nicht in den Kern eingeflossen sind. Die Klassen befinden sich im Inkubator – einem Teststadium – und haben eine eigene Dokumentation, die mit ihnen wächst. Die Dokumentation wird automatisch in den Kern übernommen, sobald die Klasse dort integriert wurde.

Anzeige
Anzeige

Beteiligung der Community

230 aktiv Mitwirkende haben ihre Erfahrungen mit Zend Framework in die weitere Entwicklung eingebracht – darunter befinden sich sowohl freie als auch von großen Unternehmen wie Google, IBM und Zend Technologies beauftragte Entwickler. Alle Mitwirkenden am Framework haben ihren Code unter einem Contributor License Agreement (CLA) [3] nach Vorbild des Apache-Projekts eingereicht. Unternehmen, deren Anwendungen auf Zend Framework basieren, sind somit auch für den kommerziellen Einsatz der Anwendung bestens gerüstet. Zusätzlich gibt es eine breite, aktive Community. Jeder größere Bereich von Zend Framework hat seine eigene Mailingliste. Dadurch soll verhindert werden, dass die Hauptliste „fw-general“ mit Details jedes einzelnen Projekts überladen wird. Obwohl der eigene Firmenname im Projektnamen auftaucht, unterstützt Zend aktiv die Teilnahme und Führerschaft von allen Community-Mitgliedern. Das Ergebnis ist ein Framework, das nicht von Einzelnen gesteuert wird und Komponenten besitzt, die von Experten aus der Community erstellt wurden, um aktuelle Probleme der Webentwicklung zu lösen.

Klar ist, dass heutzutage kein modernes PHP-Framework ohne eine dynamische und facettenreiche Community überleben kann. Meinungsverschiedenheiten fördern hier in der Regel die konstruktive Diskussion, die bei der Verbesserung von Zend Framework hilfreich war und ist.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige