Model View Controller (MVC) ページの適切な URL に基づいてクラスをロードする方法
質問: きれいなURLで構成された新しいカテゴリを使用して動的に拡張するコントローラに基づいてクラスをロードするにはどうすればよいですか?
解決策:
この問題を解決するには、次の手順を実行する必要があります:
これは、適切な URL に対してクラスを動的にロードするサンプル コードです:
// 注册自动加载器 spl_autoload_register(function ($name) { $path = 'path/to/classes'; $filename = $path . '/' . $name . '.php'; if (file_exists($filename)) { require $filename; return true; } return false; }); // 使用路由表匹配 URL $routes = [ '/{resource}/foobar' => ['controller' => 'FoobarController', 'action' => 'index'], '/{resource}' => ['controller' => 'ResourceController', 'action' => 'show'], ]; $url = $_SERVER['REQUEST_URI']; foreach ($routes as $pattern => $route) { if (preg_match($pattern, $url, $matches)) { $controller = $route['controller']; $action = $route['action']; break; } } // 调用控制器方法 if (isset($controller) && isset($action)) { $controller = new $controller; $controller->$action($matches); } else { // Handle 404 }
以上がMVC フレームワークで適切な URL に基づいてクラスを動的にロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。