My Ideal Framework
My ideal framework would be easy to set up. Simply
git clone ... new_project && cd new_project and away I go
My ideal framework would be built around Composer modules. Any component can be loaded or disabled at my whim.
My ideal framework would be totally autoloaded. I hate
include. I never want to write it again.
My ideal framework would have application testing setup from day one. I should be able to run
phpunit from base directory - or
vendor/bin/phpunit, to be more precise - and have all the tests across my application run.
My ideal framework’s app folder structure could/would look like this:
modules/ authentication/ assets/ controllers/ models/ templates/ routes.php profiles/ assets/ controllers/ models/ presenters/ templates/ routes.php templates/ application.lex vendor/ composer.json phpunit.xml routes.php
My ideal framework would have a clever template heirarchy. Template files would be loaded into layouts (that cascade) automagically.
My ideal framework wouldn’t ever generate code for me, because, ew.
My ideal framework would use Sherlock for assets, obviously.
My ideal framework would treat HTTP as a first-class citizen.
My ideal framework’s modules would be tested in isolation from one another. Using dependency injection to stub/mock out dependencies, I could write blazingly quick unit tests to ensure the stability of each small module.
Sounds a bit like Laravel 4.