PhpLayout - my small MVC framework
Shortly: it have happened that I am developing tiny full-stack PHP framework and since my experience in PHP is not great I suppose it could be very useful to have advices or reviews of more skillful developers. Some problem is that there is no vast documentation - I've tried to list and describe features in few wiki pages (and I hope sources are self-documented enough).
Currently two important questions for me are:
1) Is this the time to add unit-testing facilities? If so, then which framework/library you will recommend (PhpUnit?) if any? And any additional ideas on integrating it with my work?
2) DAO currently is thin enough - a single class implementing necessary CRUD operations. It looks like currently it is sufficient, since I can easily add several views into database and use them like additional tables. Should I work on adding support for joins in dao (so it will look more like ORM), or it is unnecessary?
Here is the project page on github
And here is its wiki, which you can read to assess my ideas initially without kicking with files
Here is web-page for project (mostly the same links) and example application screenshots
Zipped project files (ready to deploy, as described in wiki)
The story is as following:
About two months ago I created a simple php-based layout for my friend, so she could build her simple web-site with the same decorations to all pages etc.
Few weeks later I started using the tool myself for some small web-application and eventually added here simple controllers, data access objects and context to keep them joined.
Though I am still developing my app, I felt it would be convenient to detach my "framework" into separate project and bit later to put it on github.
Key idea of it is "thin controllers, bare models" - you see, though I used CakePHP a bit, I am java developer by occupation and it is hard to me to create beautiful application architecture with fat models (active records etc.) Currently it is not easy to me to assess whether I will encounter some problems with this approach or not.
I've created example application (mini bug-tracker) for myself to see and eliminate most obvious errors and problems - and it looks like my idea is not bad. This sample app is accessible here too.