简单框架MVC:如何将控制器动作关联到URL?

时间:2012-07-18 11:34:26

标签: php frameworks

我已经按照this精彩视频教程创建了一个迷你MVC PHP框架。

如您所见,该人在Controller类中创建了一个名为home()的动作来显示主页面。

现在,我需要创建另一个名为foobar()的动作来显示另一个页面,但是如何以简单的方式将其与网址相关联?

1 个答案:

答案 0 :(得分:3)

这通常通过路由完成。如果URL的第一部分标识控制器而第二部分标识操作,则提取这些变量并相应地进行路由。

一个非常基本的例子:

$action = 'foobar';
$controllerName = 'whatever';

if(class_exists($controllerName)){

    $controller = new $controllerName;

    if(method_exists($controller, $action)){

        $controller->$action();

    }
}

显然,$action$controllerName是从网址获取的。

此代码段尝试在名为“whatever”的类中调用方法“foobar”。