303076060 发表于 2013-11-26 17:57:51

在控制器里的构造方法中有没办法可以获取到要访问的方...

本帖最后由 303076060 于 2013-11-28 15:52 编辑

在控制器里的构造方法中
有没办法可以获取到将要被执行的方法?

譬如要访问以下URL
http://localhost/ci/index.php/welcome/listuser

要访问控制器welcome里的listuser方法

我想在构造函数里预先判断listuer是否存在

因為愛 发表于 2013-11-27 09:15:04

public function _remap($method, $params = array())
{
    $method = 'process_'.$method;
    if (method_exists($this, $method))
    {
      return call_user_func_array(array($this, $method), $params);
    }
    show_404();
}
详见:
http://codeigniter.org.cn/user_guide/general/controllers.html

Bobby 发表于 2013-11-27 09:22:57

如果listuser方法不存在不会解析到welcome控制器吧, 你可以通过 $this->router->fetch_method(); 来获取当前action。

303076060 发表于 2013-11-27 10:41:01

因為愛 发表于 2013-11-27 09:15 static/image/common/back.gif
public function _remap($method, $params = array())
{
    $method = 'process_'.$method;


谢谢!这个方法可行。

303076060 发表于 2013-11-27 10:42:26

Bobby 发表于 2013-11-27 09:22 static/image/common/back.gif
如果listuser方法不存在不会解析到welcome控制器吧, 你可以通过 $this->router->fetch_method(); 来获取当 ...

谢谢!!这个方法正适合。。

PS:话说这个$this->router->fetch_method();方法,在手册里找不到的?

loadinger 发表于 2013-12-13 11:58:35

$GLOBALS['class'] $GLOBALS['method']就是类和方法啊....跟一下代码,就出来了..

303076060 发表于 2013-12-16 16:18:10

loadinger 发表于 2013-12-13 11:58 static/image/common/back.gif
$GLOBALS['class'] $GLOBALS['method']就是类和方法啊....跟一下代码,就出来了..

感谢!!
页: [1]
查看完整版本: 在控制器里的构造方法中有没办法可以获取到要访问的方...