Entwicklung & Design

Rapid Prototyping Framework: CakePHP

Eine verlässliche und flexible Architektur ist für den Bau einer Webapplikation unerlässlich. CakePHP bietet eine Infrastruktur, um Ideen und Aufgaben schnell und elegant umzusetzen und bewahrt dem Webentwickler zudem die Flexibilität, auf neue Anforderungen reagieren zu können. Eine aktive Community und eine gute Dokumentation helfen, den eigenen Fokus auf das Wesentliche zu lenken.

David Heinemeier Hanson hat mit Ruby on Rails vorgemacht, wie man in 15 Minuten sein eigenes Blog programmiert [1]. Das hat für Inspiration in anderen Projekten gesorgt und bewirkt, dass heute fast alle Skriptsprachen mit einem vergleichbaren Framework daherkommen. CakePHP ist ein solches MVC-Framework für PHP 4 und 5.

Make my day

Zwei wichtige Grundsätze, aus denen sich eine Produktivitätssteigerung ergibt, sind „Don’t Repeat Yourself“ (DRY) und „Convention over Configuration“, also die sinnvolle Wahl von Konventionen. Zum einen sollte man sich nicht ständig wiederholen, da dies Wartung und Refactoring (Grundlegende Optimierung der Code-Struktur) meist aufwändiger macht. Zum anderen kann man sich gut auf einen Basissatz von Konventionen einlassen, wenn ein klar erkennbarer Sinn dahinter steht und das Framework nicht im Weg ist, wenn man etwas anders machen möchte. In der Wahl des für sich geeigneten Frameworks spielt die Akzeptanz dieser Konventionen eine wichtige Rolle. Nur so lässt sich eine Produktivitätssteigerung erreichen.

Scaffolding ist ein von Ruby on Rails übernommener Begriff, der im Deutschen soviel wie Baugerüst bedeutet. Übertragen liefert das PHP-Framework also ein Grundgerüst für den ersten Prototypen. CakePHP bietet dazu das bake.php-Skript auf der Kommandozeile. Mit einem Wizard generiert man die typischen CRUD-Methoden (übliche Datenbankzugriffe wie Create, Retrieve, Update, Delete) eines Models, inklusive Templates, Validierung und Ablauf. Auf diesem Ergebnis aufbauend kann man dann eventuelle Anpassungen vornehmen und so eine erste Basis als Diskussionsgrundlage für ein neues Projekt erstellen.

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

Ein Kommentar
Olav Schettler

In einem aktuellen Projekt habe ich festgestellt, dass sich CakePHP auch hervorragend als Frontend für TYPO3 eignet. Mit dieser Integration gelingt es uns, produktive Entwicklung von individuellen und innovativen Features im Frontend mit einem mächtigen Redaktionssystem zu kombinieren, ohne das Rad in die eine oder andere Richtung neu erfinden zu müssen. Die Software für diese Integration ist Open Source und kann unter schettler.net/fossil/t3c heruntergeladen werden.