当我使用附加到类控制器的函数时,它在Yii中不起作用
我在类控制器上附加了一个xxx函数,然后我接触了一个名为“VideoController”的文件。它是一个控制器 当我执行VideoController时,无法调用xxx函数,为什么 函数ajaxReturn:当我使用附加到类控制器的函数时,它在Yii中不起作用,yii,Yii,我在类控制器上附加了一个xxx函数,然后我接触了一个名为“VideoController”的文件。它是一个控制器 当我执行VideoController时,无法调用xxx函数,为什么 函数ajaxReturn: class Controller extends CController { /** * @var string the default layout for the controller view. Defaults to '//layouts/column1',
class Controller extends CController
{
/**
* @var string the default layout for the controller view. Defaults to '//layouts/column1',
* meaning using a single column layout. See 'protected/views/layouts/column1.php'.
*/
public $layout='//layouts/column1';
/**
* @var array context menu items. This property will be assigned to {@link CMenu::items}.
*/
public $menu=array();
/**
* @var array the breadcrumbs of the current page. The value of this property will
* be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
* for more details on how to specify this property.
*/
public $breadcrumbs=array();
/**
* zhoumengkang
* 从Thinkphp里拖过来的
*/
protected function ajaxReturn($data,$info='',$status=1,$type='JSON') {
$result = array();
$result['status'] = $status;
$result['info'] = $info;
$result['data'] = $data;
if(strtoupper($type)=='JSON') {
header("Content-Type:text/html; charset=utf-8");
exit(json_encode($result));
}elseif(strtoupper($type)=='XML'){
header("Content-Type:text/xml; charset=utf-8");
exit(xml_encode($result));
}elseif(strtoupper($type)=='EVAL'){
header("Content-Type:text/html; charset=utf-8");
exit($data);
}else{
// TODO
}
}
}
但它不能被叫来
class VideoController extends Controller {
public function actionTest() {
$this->ajaxReturn(true,'test',1);
}
}
在扩展之前,必须导入控制器
Yii::import('application.controllers.Controller');
class VideoController extends Controller {
public function actionTest() {
$this->ajaxReturn(true,'test',1);
}
}
最好将您的控制器名称从
controller
更改为someothername
该函数是公共的还是受保护的?添加您的XXX函数和videocontroller代码。请显示您的代码您确定您创建了具有ajaxReturn()的控制器类吗?@kumar_v害羞,我是新生,因此,编辑它需要很长时间。VideoController位于目录(myapp/protected/modules/admin/controller)中。如果我需要使用函数ajaxReturn(),请推荐一个类文件来添加此函数。因为我尝试添加到很多地方(比如cControl),无论添加到哪里,它总是不起作用。3Q!ajaxReturn将在我的应用程序中的任何地方使用,所以它应该放在哪里最好?然后你应该在一些常见的地方,如general/functions.php,执行ajaxReturn()。然后将functions.php包含在index.php文件中。因此,您可以在项目中的任何位置调用此ajaxReturn()。