Some of the recent discussions in the PHP world are
Framework is not a bad idea
If you don't use a framework, probably you will be using a bunch of independent libraries glued together or some code which help you to achieve your task.
Whether we use a framework or independent library, our ultimate aim is building the right product for our customer.
If you are building an app, and if you strongly feel symfony is the right choice you should go with it. And if you feel zend framework, auraphp, fuelphp, cake .. (you name it) is the right one you should go for it.
The ultimate aim of any framework developers is to make a living from it or to advertise his capability. So all will advertise it as good and never say a bad word even if they know the pit falls.
One of the recent problem we can notice is every php framework tries to advertise they are developed from components.
and not to your surprise “I love auraphp”
Don't call all are build from libraries
May be we need to define how/why we call it as library.
Consider a routing library : You give a URL path and
$_SERVER values it extracts the route information.
Apart from aura, I did a search for routing in packagist
If you have a good eye, you would have understood looking at the packagist dependencies.
The next one is regarding the
is when you want to bind other components.
The best way is to get rid of the
require-dev. The glue package should
be another independent package.
Consider Lusitanian/PHPoAuthLib Symfony session has one. What will happen when someone who loves zend, aura, fuel etc love to have the session. It gets overly complicated. So is https://github.com/friendsofaura/OAuthSession repo born. Another good example I would like to show is aura/project-kernel
Yes it is a bit of hack, to run tests. Have a look into travis
What I love to see in the PHP world is have a single repo where the pull request, create issues can be made rather than going and forking the entire code base. And not to mix the source and tests.
The packagist need a way to sort dependent packages, independent packages and framework dependent packages.
If you are new to PHP, I will recommend you to use components and glue it together.
- Start with a routing library, see how dispatching can be done.
- Try integrating a much better dispatcher
- Now your controller need request/ response.
Your application defnitely at some point of time need Input Filtering & Validation
May want to introduce form libraries to glue with your legacy code.
You will learn PHP, and not the magic of a framework. Depending upon the dependencies it will be easy to replace the component. That is the ultimate aim of components, not to trap you.
Thanks for reading.