Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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路由器,区别于;路由器教程“;还有一个来自框架的大问题_Php_Url Routing_Laravel Routing - Fatal编程技术网

PHP路由器,区别于;路由器教程“;还有一个来自框架的大问题

PHP路由器,区别于;路由器教程“;还有一个来自框架的大问题,php,url-routing,laravel-routing,Php,Url Routing,Laravel Routing,这是我的第一篇帖子,所以如果我做错了,请告诉我 我试图理解github和框架上大型路由器的逻辑。 我了解这样工作的路由器: 文件夹结构: $uri = www.xyz.com/home/default/param; # get parts from url $parts = explode("/", $uri); # call controller $controller_class = "controller_namespace\\".$parts[0]; $controller = ne

这是我的第一篇帖子,所以如果我做错了,请告诉我

我试图理解github和框架上大型路由器的逻辑。 我了解这样工作的路由器:

文件夹结构:

$uri = www.xyz.com/home/default/param;

# get parts from url
$parts = explode("/", $uri);

# call controller
$controller_class = "controller_namespace\\".$parts[0];
$controller = new $controller_class;
call_user_func_array(array($controller, $parts[1]), $parts[2]);
Options -MultiViews
RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
index.php文件,方向代码:

$uri = www.xyz.com/home/default/param;

# get parts from url
$parts = explode("/", $uri);

# call controller
$controller_class = "controller_namespace\\".$parts[0];
$controller = new $controller_class;
call_user_func_array(array($controller, $parts[1]), $parts[2]);
Options -MultiViews
RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
.htaccess文件:

$uri = www.xyz.com/home/default/param;

# get parts from url
$parts = explode("/", $uri);

# call controller
$controller_class = "controller_namespace\\".$parts[0];
$controller = new $controller_class;
call_user_func_array(array($controller, $parts[1]), $parts[2]);
Options -MultiViews
RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
因此,在www.xyz.com/home/default/param页面上称为控制器类home和func。默认情况下使用params,在filestructure中,您仍然在index.php文件中,url只调用不同的控制器类

因此,我想了解的路由器的工作原理如下:

class Home{
 Router::get("/default", function(){
 echo 'Hello';
});
Router::Dispatch();
}
根据我在等上找到的代码,我想,路由器从控制器加载所有函数,并执行与url匹配的函数…嗯

Q:
当我还在index.php上时,如何执行上面的控制器类?

这不是一个特定的编程问题。请阅读以下内容,了解哪些类型的问题是可以接受的。与此同时,你最好的办法就是通读你感兴趣的路由器的代码,了解它们是如何工作的,这也是其他人如何学习工作的。