所以我一直在更新某些旧的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搜索浪费的东西。
答案 0 :(得分:1)
将MY_URI.php
文件放在application/core/MY_URI.php
&更新如下的功能。
public function last(){
return $this->segment($this->total_segments());
}
如下所示称之为
$last = $this->uri->last();