Model View Controller(MVC) 페이지에서 Pretty 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!