解決策 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.2.2ではなくci 2.0.3バージョンです
解決策 3 (最適)
コア ファイル (MY_Loader および MY_Router) とサードパーティ フォルダー (MX) を ci 2.0.3 の事前構成済みバージョン (上記のリンク) から ci 2.2.2 の対応する場所に配置すると、問題なく動作します。