201105Aug

PPI Framework: Flexible MVC-Bibliothek für PHP

Wer sich noch nicht ganz entscheiden kann, mit welchem PHP-Framework das nächste Projekt aufgesetzt werden soll, sollte sich einen Vergleich oder eine Matrix ansehen, in der die Features von großen Bibliotheken dargestellt werden. Wenn es etwas kompakter sein darf, leisten auch weniger populäre Frameworks gute Dienste. Das PPI Framework beispielsweise ist sowohl auf kleine Blog-Systeme als auch auf umfangreiche E-Commerce-Projekte ausgelegt und bietet neben der MVC-Struktur solide Features, mit denen sich Sessions und Request-Daten verarbeiten und Caching-Mechanismen integrieren lassen.

PPI Framework

Die Bibliothek enthält einen Bootstrapper, der für die Grundkonfiguration zuständig ist:

  • include('../ppi/init.php');
  • $app = new PPI_App();
  • $app->boot()->dispatch();
  •  
  • system.base_url = http://localhost/mysite/
  •  
  • system.masterController = home

Hier kann auch ein Master-Controller definiert werden, der aufgerufen wird, sobald keine Route in der URL definiert wird.
Das Routing ist sehr einfach zu verstehen und kann in etwa so aussehen:

  • // File: App/Controller/User.php
  • class APP_Controller_User extends APP_Controller_Application {
  •  
  • function index() {
  • echo 'Hello Index';
  • }
  •  
  • function profile() {
  • echo 'Hello Profile';
  • }
  •  
  • }

Hier werden die Methoden also auf folgenden Routes abgebildet:

  • http://localhost/myapp/user
  • http://localhost/myapp/user/index
  • http://localhost/myapp/user/profile

Das PPI Framework unterstützt verschiedene Template-Engines und so können Templates in gewöhnlichem PHP, Smarty oder Twig geschrieben werden. In der Dokumentation werden die restlichen Funktionalitäten des Frameworks beleuchtet und im Download-Bereich kann die aktuelle Version des Projekts sowie eine Offline-Dokumentation heruntergeladen werden.