diff --git a/README.md b/README.md index b113ec2..dc6005c 100644 --- a/README.md +++ b/README.md @@ -2,26 +2,38 @@ miniMVC is a minimalistic Modular MVC framework, with built-in minifier, and pure-PHP templating system. -It has the following file structure +### Unique features +#### Extensive use of PHP's magic methods on the base class +* `__toString()` method allows a view of the current class object when the current class object is used as a string. If you prefer `var_dump()` or `var_export()`, you can pass the name of that function if you call the `__toString` method directly. + + Eg. `$this . "string"`, `$this->__toString()`, `echo $this`; - *index.php* - framework frontend +* `__call()` method allows (in PHP 5.3+) the dynamic addition of callable closure objects - *app* - configuration and app-wide files - *config* - configuration files - *errors* - error page templates - *views* - global page templates + Eg. `$this->foo = function($baz){}` is callable as `$this->foo()`, with the current object as the last argument - *assets* - frontend files - *js* - javascript files - *css* - css files - *config* - minifier configuration files +##### Database class is an extension of PHP's PDO class. - *modules* - MVC triads - *controllers* - controller classes - *models* - model classes - *views* - module-specific views +* miniMVC supports any database supported by PDO +* Database class also implements the `__toString` method - *sys* - core framework classes +### File Structure +* index.php - framework frontend +* app - configuration and app-wide files + * config - configuration files + * errors - error page templates + * views - global page templates +* assets - frontend files + * js - javascript files + * css - css files + * config - minifier configuration files + +* modules - MVC triads + * controllers - controller classes + * models - model classes + * views - module-specific views + +* sys - core framework classes \ No newline at end of file