我按照这个不错的视频教程创建了一个迷你MVC PHP框架。
正如您所看到的,这个家伙在Controller类中创建了一个名为home()
的操作来显示主页面。
现在,我需要创建另一个名为foobar()
的操作来显示另一个页面,但如何以简单的方式将其与url关联?
这通常通过路由来完成。如果URL的第一部分标识控制器,第二部分标识操作,则提取这些变量并进行相应的路由。
一个非常基本的例子:
$action = 'foobar';
$controllerName = 'whatever';
if(class_exists($controllerName)){
$controller = new $controllerName;
if(method_exists($controller, $action)){
$controller->$action();
}
}
显然,$action
和$controllerName
是从URL中获得的。
此代码片段尝试在名为"whatever"的类内调用方法"foobar"。