Делал небольшой проект в учебных целях два года назад. На Yii строится backend( авторизация, аутентификация, CRUD для заказов, клиентов и т.п. с отношениями), всё общение браузера и сервера через JSON, два отображения: ( views/LoginForm.php) для гостя с формой входа и для залогиненого(views/index.php) , где исходя из роли и прав в отображение отправляются те или иные вкладки ( сделал по-тупому и топорно, например, if(user->can('admin')) echo "Ext.define('AdminPanel',...);" и так далее по коду, т.е. на выходе на лету строилось отображение для пользователя.