php ci 模块化,php – 代码点火器模块化扩展 – MX_Router :: _ set_default_controller()的访问级别必须是公共的(如类CI_Router中)...

我得到了流行的Modular Extensions – HMVC安装

并使用codeigniter设置它2.2.2但是当一切都工作正常时,我得到了这个错误

Access level to MX_Router::_set_default_controller() must be public (as in class CI_Router) in C:..\application\third_party\MX\Router.php on line 241

解决方法:

解决方案1

我必须在Router.php中更改几个方法可见性,因此我将以下方法从protected更改为public以使其得到修复

_set_default_controller()

_set_request()

_set_default_controller()

它几乎可以工作,但现在我得到一个警告,高于熟悉的欢迎使用CodeIgniter消息

Message: Undefined property: MY_Router::$translate_uri_dashes

所以我把这个属性包裹起来,如果不是空的话就像这样绕过这个属性

if(!empty($this->translate_uri_dashes))

{

if ($this->translate_uri_dashes === TRUE)

{

foreach(range(0, 2) as $v)

{

isset($segments[$v]) && $segments[$v] = str_replace('-', '_', $segments[$v]);

}

}

}

现在它有效!

解决方案2

有一个可以从中下载的HMVC-ci

但它是ci 2.0.3版本而不是ci 2.2.2

解决方案3(最好)

如果您将ci 2.0.3中相应位置的预配置版本ci 2.0.3(上面的链接)中的核心文件(MY_Loader和MY_Router)和第三方文件夹(MX)放置在它可以正常工作.

标签:php,codeigniter,codeigniter-hmvc

来源: https://codeday.me/bug/20190727/1558510.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值