Introduction
This codebase is a set of PHP classes to support building web applications. It's main philosophy is loose coupling and flexibility.
Highlights
- PHP5
- Standard Front/Action Controller supports MVC but allows for MP or Transaction Scripts.
- PEAR style naming conventions to ease class loading (e.g., class A_Controller_Front in file A/Controller/Front.php).
- Code attempts to be flexible to allow a range of file layout and name conventions to be used.
Design Summary
- Front Controller use is assumed but not required. Page controller can easily be implemented.
- Support for clean URLs is included via a class that maps PATH_INFO values onto the request based upon application supplied mappings.
- Base Input Controller and Application Controller classes are available to build a variety of controller types. A Form Controller is implemented on top of these for forms based input.
- Controllers all pass a single Service Locator object which can contain any object that the application wants to make available to dispatched actions.
- A Request class is provided to encapsulate the current HTTP request data.
- A Response class is provided to assist in HTML page building and handle redirects.
- A Filter Chain and set of common Filter classes are available for filtering request data.
- A rule based Validator and set of common Rule classes are available for validating request data.