I have come across a fair bit of information on CI being a really flexible framework. Does Yii also allow great flexibility? And the ability to pick and choose when to use it or your own php?
Flexibility is very subjective, so this question is a bit vague.
From my experience I can tell you that Yii is very very powerful, but in most cases when you want to go into really advanced territory you have to do things “Yii’s way”. If you do, you will find that the pieces of the puzzle click together really well and things go smoothly. If you don’t (because presumably you haven’t realized yet what “Yii’s way” is), it’s going to give you a hard time.
I am using YII since 2 years. I use it with combination with Zend AMF and create backend systems for Flash campaigns, create HTML5 webpages, simple pages, different competition pages and and find it usable for every case you need. The main advantage that it is really structured, logical and fast. So because of that I am spending my time on creating application logic, not on setting up environment, setting up all requests, pages, subpages etc., MVC model + ActiveRecord saves my time here.
I have been using Yii for a year now and find it very flexible. You can add your own methods to any model or write components outside models. You need to be familiar with the MVC structure, Object-oriented programming and for writing components, you need to know how to register the component in the config file and how to call it the Yii way.