CodeIgniter扩展CI_URI未定义方法

时间:2018-04-30 03:25:47

标签: php codeigniter codeigniter-3

所以我一直在更新某些旧的CI 1到CI 3代码。正在进行中。特别是,URI类扩展不起作用。我已经阅读了切换到__construct()的CI文档并将其移动到application / core目录。我已经检查了所有情况都是正确的,但我仍然收到以下错误:

调用未定义的方法MY_URI :: last()

我的代码

class MY_URI extends CI_URI {

    function __construct()
    {
        parent::__construct();
    }

    function last()
    {
        return $this->segment(count($this->segments));
    }
}

关于为什么切换可能会发生这种情况的想法?检查StackOverflow它说配置你的配置设置有正确的

$config['subclass_prefix'] = 'MY_';

我打电话给:

$lastURI = $this->uri->last();

更新:我也试过了

 exit('MY_URI.php loaded'); 
顶部的技巧似乎有效,但是当我注意到它并且从不加载扩展时它仍然会抛出错误。

更新:解决了,这是一个typecase错误..感觉有点愚蠢。如果管理员可以这样做,请删除此问题,以免污染StackOverflow搜索浪费的东西。

1 个答案:

答案 0 :(得分:1)

MY_URI.php文件放在application/core/MY_URI.php&更新如下的功能。

public function last(){      
    return $this->segment($this->total_segments());
}

如下所示称之为

$last = $this->uri->last();