Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 简单框架MVC:如何将控制器操作与URL关联?_Php_Frameworks - Fatal编程技术网

Php 简单框架MVC:如何将控制器操作与URL关联?

Php 简单框架MVC:如何将控制器操作与URL关联?,php,frameworks,Php,Frameworks,我按照nice视频教程创建了一个迷你MVC PHP框架 如您所见,guy在Controller类中创建了一个名为home()的操作来显示主页 现在,我需要创建另一个名为foobar()的操作来显示另一个页面,但如何以简单的方式将其与url关联?这通常通过路由完成。如果URL的第一部分标识控制器,第二部分标识操作,则提取这些变量并相应地路由 一个非常基本的例子: $action = 'foobar'; $controllerName = 'whatever'; if(class_exists($

我按照nice视频教程创建了一个迷你MVC PHP框架

如您所见,guy在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”