I went from pure-php-madness to CodeIgniter and from CI to Zend Framework.
The first change was a BIG BANG. Complete change of thinking. But (not expected) the other one was even bigger! Great thing about ZF is that it’s a gallery of best approaches. Other good thing is that there is class for everything, that can do anything. And even greater is that if that class is an overkill for your needs, you can write your own and substitute it to the framework. That means you don’t waste you days writing a decent router, but you can write your own authentication adapter, db model, super-cuzstomised view helper, etc. learning from the polished interfaces available. You don’t like ZF’s view? Use Smarty instead, or your own layer. Missing some web service API in ZF? Make a class for it using Zend_Rest_Client.
That’s the 0,5 that MatthewW’OP was talking about. And it helps you big way ! I’ve become a better developer in last 1,5 years using ZF then in the 6yrs doing my own PHP :)