Как программно вызвать контроллер?

// создаем контроллер, основываясь на нашем роуте $p = Yii::app()->createController('module/controller/index'); // берем функцию $result = $p[0]->someFunction($params); // или экшен $r = $p[0]->actionIndex();

Если экшены вынесены в отдельный класс

class SiteController extends CController { public function actions(){ return array( 'contact' => 'application.controllers.content.actioncontact', ); } } $p = Yii::app()->createController('site/controller/contact'); $act = $p[0]->createAction('contact'); $act->run(); // или $p = Yii::app()->createController('site/controller/contact'); $r = $p[0]->createAction('contact')->run();