Skip to content

evgengrushko/EPHPMVC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

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

About

A simple, yet very much extendable MVC implementation for PHP 5.3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%