请求信息

如果要获取当前的请求信息,可以使用 ginkgo\Request 类:

  1. $obj_request = Request::instance();

获取 URL 信息
  1. $request = Request::instance();
  2. // 获取当前域名
  3. echo 'domain: ' . $request->domain() . '<br>';
  4. // 获取当前入口文件
  5. echo 'file: ' . $request->baseFile() . '<br>';
  6. // 获取当前 URL 地址
  7. echo 'url: ' . $request->url() . '<br>';
  8. // 获取当前 URL 地址(包含域名)
  9. echo 'url with domain: ' . $request->url(true) . '<br>';
  10. // 获取当前 URL 地址 不含 QUERY_STRING
  11. echo 'url without query: ' . $request->baseUrl() . '<br>';
  12. // 获取 URL 访问的 ROOT 地址
  13. echo 'root:' . $request->root() . '<br>';
  14. // 获取 URL 访问的 ROOT 地址(包含域名)
  15. echo 'root with domain: ' . $request->root(true) . '<br>';

输出结果为:

  1. domain: http://baigo.net
  2. file: /index.php
  3. url: /index/index/hello.html?name=ginkgo
  4. url with domain: http://baigo.net/index/index/hello.html?name=ginkgo
  5. url without query: /index/index/hello.html
  6. root: /
  7. root with domain: http://baigo.net

模块 / 控制器 / 动作 名称

获取全部

  1. $request = Request::instance();
  2. // 获取实际 模块 / 控制器 / 动作 名称
  3. $route = $request->route();
  4. echo '实际模块名称是' . $route['mod'];
  5. echo '实际控制器名称是' . $route['ctrl'];
  6. echo '实际操作名称是' . $route['act'];
  7. // 获取原始 模块 / 控制器 / 动作 名称
  8. $routeOrig = $request->routeOrig();
  9. echo '原始模块名称是' . $routeOrig['mod'];
  10. echo '原始控制器名称是' . $routeOrig['ctrl'];
  11. echo '原始操作名称是' . $routeOrig['act'];

如果当前访问的地址是

http://server/index.php/index/index/hello_world

输出结果为:

  1. 实际模块名称是 index
  2. 实际控制器名称是 index
  3. 实际操作名称是 helloWorld
  4. 原始模块名称是 index
  5. 原始控制器名称是 index
  6. 原始操作名称是 hello_world

如果当前访问的地址是

http://server/index.php/index/index/hello_world

路由定义为:

  1. 'route' => array(
  2. 'route_rule' => array( //路由规则
  3. 'admin/hello/overview' => 'index/index/hello_world',
  4. ),
  5. ),

输出结果为:

  1. 实际模块名称是 index
  2. 实际控制器名称是 index
  3. 实际操作名称是 helloWorld
  4. 原始模块名称是 admin
  5. 原始控制器名称是 hello
  6. 原始操作名称是 overview

设置路由可以调用 setRoute 方法。

  1. $request = Request::instance();
  2. $route = array(
  3. 'mod' => 'index', // 可选
  4. 'ctrl' => 'index', // 可选
  5. 'act' => 'hello_world', // 可选
  6. );
  7. $request->setRoute($route);

获取请求参数
  1. $request = Request::instance();
  2. echo '请求方法:' . $request->method() . '<br>';
  3. echo '访问ip地址:' . $request->ip() . '<br>';
  4. echo '是否AJax请求:' . var_export($request->isAjax(), true) . '<br>';
  5. echo '请求参数:';
  6. print_r($request->getParam());

输出结果为:

  1. 请求方法:GET
  2. 访问ip地址:127.0.0.1
  3. 是否Ajax请求:false
  4. 请求参数:
  5. Array
  6. (
  7. 'test' => ddd
  8. 'name' => ginkgo
  9. )