사용자 정의 프레임 워크에서 컨트롤러를 전환하는 좋은 방법을 이해하려고합니다. 다음 예제는 현재 시범 적으로 단순화 된 것으로 생각하지만 더 나은 접근 방법이 있으면 전문가의 조언을 듣는 것이 좋습니다.컨트롤러 간 전환 (MVC)
class BaseController() {
function __construct() {
$this->model = new ModelFactory();
$this->view = new View();
if(isset($_SERVER['QUERY_STRING'])) {
list($controller, $action) = explode('=', $_SERVER['QUERY_STRING']);
self::process($controller);
}
}
public function process($controller) {
switch($controller) {
case 'user':
$user = new UserController($action);
break;
case 'forum':
$forum = new ForumController($action);
break;
default:
// use base controller
switch($action) {
case 'contact':
$this->view->load($action);
break;
}
}
}
}
// inside UserController.php
switch($action) {
case 'register':
break;
case 'login':
break;
}
// inside ForumController.php
switch($action) {
case 'new_thread':
break;
case 'edit_post':
break;
}
프레임 워크 사용자가 사용자 지정 작업을 통해 사용자 지정 컨트롤러를 구현할 수 있도록 계획 하시겠습니까? –
@ bob-the-destroyer 그렇게하면 코드가 더 다양해질 것이고, 그렇다고 가정한다면, 그렇습니다. –