Thinking Which PHP Framework Should I Learn On My Own Time

So many different flavors,
so many shapes and sizes
- which PHP framework to choose?

Image by Michelangelo van Dam
Current Experience and The Numerous Frameworks

At my work, I work in whatever PHP technology my current project requires and my one-and-a-half years of career has taken me through:
And then I briefly worked in a now-defunct framework Exido (no official homepage but found some information here and  here), for which I could not find absolutely no documentation - and I had to understand the flow of control manually, before I could do the maintenance. So, framework's longevity is a big concern.

And there are some frameworks people talk about like Laravel, which tempts me with its tagline of 'The PHP Framework for Web Artisans' :), Symphony, and some others I found like FuelPHP.

All this, when I have not even ventured to the Wikipedia's list of PHP frameworks. And all the frameworks look equally tempting, then where to invest my own time for sharpening my skills?


  • Reasonable learning curve
  • Decent performance in terms of speed and memory requirements
  • Rapid application development
  • Longevity of framework - I don't want it to die on me with projects to maintain
  • Community - I recently figured that it can be judged from that framework's activity at StackOverflow and pulse at Github.

Finals - Zend Framework, CakePHP and CodeIgniter

From my limited experience and the research, I've narrowed it down to Zend Framework and CakePHP. CodeIgniter (with PyroCMS) is also in my mind, but I feel that for complex projects a little bit of convention and discipline might be a good thing e.g. view file matching the controller name's folder and action's name, which is not so in CodeIgniter.

Also, I recently learnt that even if you are using a framework on top of PHP, if you use a CMS, you can save many man-hours for routine functionality like users management, authentication etc.

Results - CakePHP with Croogo

So, believing that CakePHP can help me get projects done faster, especially when I fully master its conventions and also utilising a CMS Croogo I hope to be decently skilled to create apps and websites fast.

Also, it goes without saying that these are my views in the current (2013) state of affairs and my skills. They may be wrong, may change with time. Share your views in the comments!

Update Jan 2015: 
I have not been able to find enough own time to see through my plan as described in the article.

But in the time at my day job, I have been learning CakePHP and understanding it more and beginning to appreciate its beauty. Also, Laravel has caught my eye in the distance and I am hearing nothing but good things about it.

Thus, for now, neither I have the time nor a decision as to what to practice and understand in my free time.