A tiny framework for creating webapps in php
PHP
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.htaccess
MIT-LICENSE
README
boot.php
config.php
controller.php
framework.php
html_form.php
html_form_helpers.php
html_table.php
html_table_helpers.php
html_utils.php
micro_object.php
model.php
model_utils.php
utils.php

README

= Micro Framework

Micro framework is a tiny framework for developing PHP applications. It follows the Push Model-View-Controller pattern. I use this framework in many projects. The documentation is still very limited.

To set up a project using micro-framework you have to make a directory which contains the framework and several files and directories. http://github.com/StefanH/basic-template is an example of this structure.

== Getting started

* mkdir [project] and setup micro-framework directories and files
* OR download http://github.com/StefanH/basic-template and rename it's folder to [project]

* cp -R [micro-framework-dir]/* [project]/framework
* OR ln -s [micro-framework-dir] [project]/framework

* use [project]/config.php to configure url paths and database access.
* make [project]/info.log writable from php.

* configure access with [project]/.htaccess and [project]/public/.htaccess

On windows: I have no idea [please help]

== Routing
All requests must be made to [project]/index.php. They are routed to a controller in [project]/controllers based on their url. For example, a request to [project]/index.php/static/index results in a call to the index method of a StaticController instance. A controller can use models in [project]/models to access a database. It can render a view from [project]/views/[controllername]/.

== Controllers
Controllers manage the sites functionality. They can access the database and/or render a view. see [micro-framework-dir]/controller.php for more information.

== Views
Views are simple php files that render the output to the browser. See [micro-framework-dir]/controller.php for more information.

=== Layout
When rendering a view, you can specify a layout file. These files are located in [project]/views/layout. When no layout is specified, [project]/views/layout/layout.php is used

=== HTML Helpers for Forms, Tables and other stuff
TODO

== Models
Models can be accessed in controller methods to query and manipulate the database. See /framework/model.php for more information.

== Plugins
Plugins contain additional controllers, models and views, as well as additional random functionality in the lib directory.

== Autoloading
All classes in the lib, models, controllers and framework directories are automatically loaded as needed. A class named HelloWorld must be in a file called hello_world.php otherwise it will not be found.

== Log file
TODO

== Exception handling
TODO

== Controller callbacks
TODO

== Model callbacks
TODO

== Deploying
before deploying an application built with this framework, you must do the following:

 * make sure .htaccess is configured to deny clients direct access to anything accept index.php
 * remove test and scripts directories

Then it's simply a matter of copying the project folder's contents to a deployment location

Copyright (c) 2009 Stefan Henzen, released under the MIT license