5
<?php
class ReportsController extends CController
{
    public function __call($name,$argument)
    {
        echo "test";
    }

}
?>

这是我的 Yii 控制器类,当调用index.php?r=reports/testURL 时,它必须调用该__call方法,因为测试方法不存在但它给出了错误The system is unable to find the requested action test错误。

4

2 回答 2

3

这取决于框架的实现。

例如,如果框架实现如下代码:

If (!method_exists($controller, $action)) {
  throw new Exception("The system is unable to find the requested action $action");
}
于 2012-10-12T05:29:11.177 回答
3

missingAction在控制器中实现方法,

正如@xdazz 所说,它检查方法是否存在,如果不存在则调用missingAction方法。

//This method is invoked when the controller cannot find the requested action.

public function missingAction($actionID)
{
    // Your code here
}
于 2012-10-12T05:39:26.443 回答