Backe, Backe PHP

Wer seine liebe Verwandtschaft sonntags erwarte, oder aber jemanden zum Geburtstag mit einem Kuchen überraschen will, der steht vor einer grundsätzlichen Entscheidung: Selber machen oder kaufen. Als ob das nicht schon schwer genug ist, steht beim selber backen die Frage im Raum, ob man eine Backmischung verwendet (was schneller geht) oder als frisch von Grund auf zubereitet.

Bei der Programmierung mit PHP stellt sich die gleiche Frage. Nimmt man eine Fertigmischung (einen so genannten Framework) oder erfindet man lieber das Rad komplett neu. Mit der Fertigmischung geht es auf jeden Fall schneller, aber schmeckt das Ergebnis denn auch?

Nun, wie beim Kuchen kommt es ganz darauf an, ob man die richtige Fertigmischung bzw. bei PHP den richtigen Framework verwendet. Vor dem Regal im Supermarkt stehend und die riesige Auswahl betrachtend hätten die meisten dann wohl gerne etwas Hilfe angesichts der Auswahl.

Bei Backmischung muss ich da leider passen, denn einige der Zutaten finde ich ziemlich bedenklich für die Gesundheit. Bei PHP-Frameworks sieht das schon etwas anders aus. Aus beruflichen Gründe habe ich mich in den letzten Wochen mit drei der wohl bekanntesten Vertretern beschäftigt (wobei nicht verschwiegen sollte, dass es noch wesentlich mehr PHP-Frameworks gibt):

Um das Fazit vorweg zu nehmen: Der ideale Framework ist immer der, mit dem man selber am besten zurecht kommt. In meinem Fall ist das der Zend Framework. Das liegt an einigen Besonderheiten, die dieser Framework hat. Wie die beiden anderen Vertreter auch, so unterstützt der ZF das Modell View Controller Konzept. Entscheidend ist dabei „unterstützt”, denn wer nicht will, muss nicht nach dem MVC-Konzept arbeiten (niemand wird zu seinem Glück gezwungen). Es ist daher möglich, einzelne Module des ZF zu verwenden. Wenn man zum Beispiel nur die Mail-Classe benötigt, dann bindet man nur diese ein.

Was mir persönlich auch gut gefallen hat, ist die Dokumentation. Im finde sie vom Stiel her deutlich zugänglicher als bei den anderen Frameworks. Nicht unerwähnt bleiben sollte auch, dass sich hinter dem ZF Zend (steckt schließlich im Namen) verbirgt – die Firma, die auch für PHP verantwortlich ist. Das dürfte wohl ein Grant dafür sein, dass der Framework keine Eintagsfliege sein wird.

<?php
/* ZEND CACHE BEISPIEL */

$ansi='3937514333';
require_once ZENDPATH.'Cache.php';
$frontendOptions = array(
   'lifetime' => ZENDCACHE,
   'automatic_serialization' => true
);
$backendOptions = array(
    'cache_dir' => ZENDTEMP
);
$cache = Zend_Cache::factory('Output', 'File', $frontendOptions, $backendOptions);
if(!$cache->start(md5($ansi))) {
/* alle Anweisungen in diesem Block werden gecached */
    $cache->end();
}
?>

Wo Licht ist, ist auch bekanntlich Schatten. Was derzeit (laut Roadmap ist es ein geplantes Feature) fehlt, sind Methoden zur automatischen Generierung von Code, wie sie zum Beispiel CakePHP bietet. Einer der Hauptkritikpunkte am ZF ist jedoch, dass er mit über 11 MB deutlich mehr auf die Wage bringt als die beiden anderen. Im Gegensatz zu ihnen basiert er aber vollständig auf PHP 5 und profitiert von den Möglichkeiten der aktuellen PHP Version.

Kommentar verfassen