Radix is a simple PHP Framework designed for rapid application developement.
Radix is intended for use in prototypes, do-one-thing and "quick-and-dirty" web-applications.
It can also be used in non-intrusive way to supplement legacy applications that are using custom frameworks - or none at all!
Three Top-Level Goals: Small & Fast, Minimal Dependencies, Shallow Learning Curve.
- Radix uses existing PHP constructs for Sessions, Logging - it's familiar and less to type.
- Attempts to implement very common functionality in light-weight components with minimal dependencies.
- Allow for easy integration to custom application-frameworks that may need to standardize.
- Crazy simple Routing, simple, direct code paths for straight-forward debugging.
- Boot-Strapper & Application Directory Layout
- Unified Module, Controller, Action, View, Block and Theme handler
- Non-Intrusive Session Toolkit, Caching in files or memcache
- Simple Request Router
- Support for MySQL, PostgreSQL, SQLite, CouchDB, MongoDB and Redis
- Simple Input Filter
- Simple CURL/HTTP Request Interface
- Simple Google Interface
- Simple APIs to Facebook, Twitter
- Compatible with APC, Xdebug, XHProf and PHProf
Radix was developed primarily with Linux hosts in mind and has been successfully used on Windows.
Radix has support for standard MVC expectations and follows the following directory structure conventions.
- Contains Binaries, Application Executables
- Various Output Blocks
- App Libaries, Extensions, Vendor Libraries
- Deployment, Management, System Executables
- Unit Test and Test Tools
- Theme Files (html.php, mobile.php, &c)
- App State Dir, R/W by App user
- View Scripts!
- Public Webroot
There are generally a few minimal files defined for Radix style applications.
./boot.php # Bootstrap File
./compser.json # Composer is awesome
./theme/html.php # Default Theme
./view/index.php # View for the home page
./webroot/index.php # Front Controller
The architecture of Radix allows it to be embedded into other applications and extended from there.
In this fashion Radix can be tightly integrated and inter-version or cross-app version issues do not become an issue.
Debugging and Performance
Scriptable Testing Tools
- PhantomJS - Headless, Scriptable WebKit (Chrome, Safari)
- SlimerJS - Headless, Scriptable Gecko (Firefox)
- PhatomCSS - CSS regression testing with PhantomJS
- SeleniumHQ automates browser
Other PHP Frameworks
The folks over at phpframeworks.com maintain a comprehensive list.