What, why, when, etc...
Every programmer looks for package of scripts, that will helps him creating programs or solving problems. Then becomes next stage of testing solutions founded on Internet. Frequently, any of this solutions are not good for him or time spends on reading documentation is too long. Then he got an idea to write his own set of scritps, which makes his work faster and easier and what is the most important, it will be written how he likes. I'm on this stage now....

This framework is wrote by Me for Me and it's reflects my point of view on creating PHP application. It's based on Model-View-Controller design pattern (i think this is true :)) and it's written in PHP version 5 so it's fully object-oriented. In my opinion this is very light framework and it's still in alpha stage but i'm trying to keep it's functionality on high level.

General concepts:
  • controller is managing all events;
  • controller is cached all used events;
  • controller is responsing for create and maintain template object;
  • controller provide methods to auto-append template header and footer
  • controller is handling session data;
  • controller stores some debug data which will be used in future (this is in 'To Do' list);
  • controller prepare/parse url and sends parameters to events (in future 'router' class will provide managing URL; it will give programmer more freedom to manage application's URLs)
  • every event is stored in it's own class and provides methods for every it's behaviour;
  • event has implemented simple acl's; it can be run from URL/other event or only from other event (example: data source provides method which gives requested data from database; it can be runs only from events because we don't want to shown them);
  • every event's class must extends 'Events' base class;
  • event decides which template are diplayed
  • there are separated language classes with static functions that responses for every text shown in application (it's must extends 'Language' base class);
  • Template class must implements template interface;

There are more classes which You can use but they are not necessary to run framework. I've created them to save some time on repeated activities. They are:
  • DB class - wrapper to databases (currently managed: MySQL, PostgreSQL)
  • Forms class - generate and validate on user-side HTML Forms
  • Logs class - logs information in various formats (currently managed: file, syslog)
  • Requests class - provides methods to validate HTTP request data from _POST,_GET,_REQUEST and _COOKIES super-global variables
You don't need to download them separately because they are appended to framework package.