If you want to learn new PHP framework and when you search for PHP frameworks, you will get confused easily. There are tons of FW’s out there, which looks similar and easy-to-use. But the fact is, it’s not all about easy to use, it’s about easy to handle, getting good support, and good understanding is what we need.
I learned PHP, just to create small web apps back in 2008. But after getting new job as Web Developer and started learning Spring, Hibernate, Play etc, i almost lost my touch in PHP. But recently, i had a specific requirement, that client only want it in PHP.
Years ago, i developed small sites,web apps which doesn’t contain more than 5 php pages, so i never got an issue with that. But the current project is huge, and if i start it w/o a framework i know it will be a chaos. So decided to learn one. When i google it, i come up with lot of options, from traditional CakePHP to light-weight Slim FW. Then i read, and read and implement samples and come to an conclusion.
When you are starting up things are easy, but to get going on, it’s very difficult. I liked Slim Framework much, but it is not an mature project yet and i don’t want to risk with it. Tried CakePHP, Yii, etc but finally settled with Code Igniter because of it’s ease of config. Setup the CI project within 10 mins and wrote my first method, which i didn’t do with any other frameworks. I want to mention few points mentioned in CI, which suits me.
- You want a framework with a small footprint. – Yes
- You need exceptional performance. – Of course
- You need clear, thorough documentation.- Indeed
- You prefer nearly zero configuration. – Yes, i would love to
- You don’t want to adhere to restrictive coding rules. – Good one!
- You don’t want to learn another template language. – Exactly
- You prefer simple solutions to complexity. – Yes
- You want to spend more time away from the computer. – Of course
After checking these points out, i convince myself to go with CI. So i started with login page and navigate to dashboard, and to be frank, the templating that comes with CI is awesome and one can easily create new template, which of course saves you a hell lot of time.
Finally, the documentation is very clear and straight forward, one cannot feel like they missed out something. The community is very active, so you expect to solve problems as soon as possible, which i would prefer any day. If someone want to learn a PHP FW and want it to be easy, no config kinda thing, CI is the one for you. Although Cake PHP is another option, but CI looks good, and it leaves me no doubt in it’s capability. Be it’s Controller approach or template approach, it is much clear and precise.
UPDATE : For quite some time, CI went inactive mode. But now it has been took over by BCIT and from then, it become very active. They even released 2.2.1 already and v3.0 is already having RC2 version. Good to see CI picks up the race and I always worried someday it will die. But thanks BCIT for taking this forward.