A simple, yet very much extendable MVC implementation for PHP 5.3
PHP
Latest commit 9470aea Jun 27, 2010 Lars Strojny README
Permalink
Failed to load latest commit information.
examples Adding error template Jun 27, 2010
library/EPHPMVC Renaming Jun 27, 2010
README.textile README Jun 27, 2010

README.textile

EPHPMVC: A small but extendable MVC implementation for PHP 5.3

Design Goals

General

  • Component should scale: from small web app to huge complex web projects
  • Configuration over convention but sensible defaults
  • Should be extendible with classic OOP measures: e.g. Composites (GOF 163) could be used for complex views and complex routes
  • Constructor based dependency injection for all the classes
  • No singletons, no registries, multiple Front Controllers (P of EAA 344) should live easily together
  • Basic structure fully defined in interfaces
  • Clear separation of packages
    • EPHPMVC\Standard is where the most simple example implementations live
    • HTTP protocol specific implementations live in EPHPMVC\HTTP

Dispatching/Routing

  • Protocol agnostic: should be usable for Web, Mail processing, CLI utilities

View

  • Use closures as view helpers
  • View helpers are conceptually the same as template variables
  • Use PHP as the default template engine (no Smarty, no nothing)

Ideas

  • Implement an A/B split testing route
  • Implement a CLI request/response/route triangle
  • Implement XML processing request/response/route triangle. Routing expressions specified as XPath Queries
  • Implement router to use Page Controller (P of EAA 333) pattern