I can’t say that anybody will ever find the perfect web application development framework simply because I think that one can never exist.
I’ve developed my own, called Canvas (found at http://c.anvas.es/), for PHP5 and I find it to be completely natural and, for the most part, perfect for what I need right now, though I know it’s weak in some places and strong in others. It works for me when and where I need it to.
I’ve used Rails and will use it when I can because I know it’s more flexible and more mature than mine, though deployment for Rails is a bit trickier.
I’ve looked at other frameworks such as CakePHP and Symfony, though I’ve not found them to be intuitive enough for my personal tastes. Code should and must be intuitive and beautiful, as semantic as possible, explaining what they do simply by the way they are used and named, wherever possible. Other frameworks simply fail in this regard (of those that I’ve observed).
I like mine and of course I’d recommend it, and Rails really is nice and mature, but I recommend simply using what feels natural and what makes you the most productive. Give them all a shot over a weekend and see which one makes you the happiest and productive. (Of course, you may have to learn a little bit of Ruby or Python or PHP or Java or what-have-you first.)
M.T.
P.S. —I’ve included a little diagram of a (extremely simple) sample web application using my framework for your enjoyment.

