如何基于模型视图控制器(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中文网其他相关文章!