PHP路由器,区别于;路由器教程“;还有一个来自框架的大问题
这是我的第一篇帖子,所以如果我做错了,请告诉我 我试图理解github和框架上大型路由器的逻辑。 我了解这样工作的路由器: 文件夹结构: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
$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上时,如何执行上面的控制器类?这不是一个特定的编程问题。请阅读以下内容,了解哪些类型的问题是可以接受的。与此同时,你最好的办法就是通读你感兴趣的路由器的代码,了解它们是如何工作的,这也是其他人如何学习工作的。