<?php
class ReportsController extends CController
{
public function __call($name,$argument)
{
echo "test";
}
}
?>
这是我的Yii控制器类,当调用index.php?r=reports/test
URL时,它必须调用__call
方法,因为测试方法不存在,但它会出现错误The system is unable to find the requested action test
错误。
答案 0 :(得分:3)
这取决于框架的实现。
例如,如果框架实现了如下代码:
If (!method_exists($controller, $action)) {
throw new Exception("The system is unable to find the requested action $action");
}
答案 1 :(得分:3)
在您的控制器中实施missingAction
方法,
如上所述@xdazz,它检查方法是否存在,如果不存在则调用missingAction
方法。
//This method is invoked when the controller cannot find the requested action.
public function missingAction($actionID)
{
// Your code here
}