URLからコントロール名を取得し、index.phpで動的に正しいコントローラーと一致させようとしています。
私のアプリルート:/localhost/app/index.php
つまり、基本的に/localhost/app/index.php/homeと入力すると、home_controller.phpを含めようとします。これがコードです。
$parts = array_slice(explode('/',$_SERVER["REQUEST_URI"]),3);
if(file_exists(dirname(__FILE__)."/controllers/".$parts[0].'_controller.php'))
{
include dirname(__FILE__)."/controllers/".$parts[0].'_controller.php';
}
アプリのルート深度が3の場合は正常に機能します。localhost/first/ second / app / index.php/homeのようなアプリディレクトリを変更すると壊れます。
3で爆発するため、$ components [0]は「ホーム」ではなくなります。問題は、コントローラーパーツをより効率的に検出するにはどうすればよいかということです。