There are a lot of frameworks available for web development. For PHP, there are Zend Framework, CakePHP and CodeIgniter. I also tried Joomla! before, learn about the Joomla framework, but, it is really troublesome. In my opinion, Joomla! is user friendly, but not developer friendly.
I tried CakePHP. It is better than Joomla, for a developer. But the Acl control provided is really difficult to learn. The “Bake” seems useful, but editing the generated files is also a pain. The MySQL database is also not highly customizable. I totally agree to a post in Stack Overflow:
Less automagic is a plus! 😉
That is why, I am currently using CodeIgniter. Comparing to CakePHP, I can freely to use and do anything I like. There are less rules to follow, only a very simple naming convention. I can add my own class to the MVC easily. The URL controller and method pattern is simpler. The pagination is also more customizable. The MySQL database allows me to use my own query. The MVC architecture with the database has much more freedom. So, CodeIgniter is my first choice.
There are also CSS frameworks: 960 Grid System and Blueprint. These CSS frameworks use grid system for the web layout. My favourite is Blueprint. It is too good to make a usable website, because grid system makes the website more organised.
So, my web development frameworks = CodeIgniter + jQuery + Blueprint.