ginkgo


请求信息

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

$obj_request = Request::instance();

获取 URL 信息
$request = Request::instance();

// 获取当前域名
echo 'domain: ' . $request->domain() . '<br>';

// 获取当前入口文件
echo 'file: ' . $request->baseFile() . '<br>';

// 获取当前 URL 地址
echo 'url: ' . $request->url() . '<br>';

// 获取当前 URL 地址(包含域名)
echo 'url with domain: ' . $request->url(true) . '<br>';

// 获取当前 URL 地址 不含 QUERY_STRING
echo 'url without query: ' . $request->baseUrl() . '<br>';

// 获取 URL 访问的 ROOT 地址
echo 'root:' . $request->root() . '<br>';

// 获取 URL 访问的 ROOT 地址(包含域名)
echo 'root with domain: ' . $request->root(true) . '<br>';

输出结果为:

domain: http://baigo.net
file: /index.php
url: /index/index/hello.html?name=ginkgo
url with domain: http://baigo.net/index/index/hello.html?name=ginkgo
url without query: /index/index/hello.html
root: /
root with domain: http://baigo.net

模块 / 控制器 / 动作 名称

获取全部

$request = Request::instance();

// 获取实际 模块 / 控制器 / 动作 名称
$route = $request->route();
echo '实际模块名称是' . $route['mod'];
echo '实际控制器名称是' . $route['ctrl'];
echo '实际操作名称是' . $route['act'];

// 获取原始 模块 / 控制器 / 动作 名称
$routeOrig = $request->routeOrig();
echo '原始模块名称是' . $routeOrig['mod'];
echo '原始控制器名称是' . $routeOrig['ctrl'];
echo '原始操作名称是' . $routeOrig['act'];

如果当前访问的地址是

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

输出结果为:

实际模块名称是 index
实际控制器名称是 index
实际操作名称是 helloWorld

原始模块名称是 index
原始控制器名称是 index
原始操作名称是 hello_world

如果当前访问的地址是

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

路由定义为:

'route' => array(
    'route_rule'    => array( //路由规则
        'admin/hello/overview' => 'index/index/hello_world', 
    ),
),

输出结果为:

实际模块名称是 index
实际控制器名称是 index
实际操作名称是 helloWorld

原始模块名称是 admin
原始控制器名称是 hello
原始操作名称是 overview

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

$request = Request::instance();

$route = array(
    'mod'   => 'index', // 可选
    'ctrl'  => 'index', // 可选
    'act'   => 'hello_world', // 可选
);

$request->setRoute($route);

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

输出结果为:

请求方法:GET
访问ip地址:127.0.0.1
是否Ajax请求:false
请求参数:
array (
    'test' => ddd,
    'name' => ginkgo,
);