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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 代码点火器模块化扩展 – MX_Router :: _ set_default_controller()的访问级别必须是公共的(如类CI_Router中)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我得到了流行的Modular extensions – HMVC安装

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

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

解决方法

解决方案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

http://lab.clearpixel.com.au/2011/10/modularise-your-codeigniter-2-applications-with-modular-extensions-%E2%80%93-hmvc/

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

解决方案3(最好)

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

脚本宝典总结

以上是脚本宝典为你收集整理的php – 代码点火器模块化扩展 – MX_Router :: _ set_default_controller()的访问级别必须是公共的(如类CI_Router中)全部内容,希望文章能够帮你解决php – 代码点火器模块化扩展 – MX_Router :: _ set_default_controller()的访问级别必须是公共的(如类CI_Router中)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。