请求对象由 think\Request 负责 只须要依赖注入便可php
构造方法注入便可html
public function __construct(Request $request) { $this->request = $request; }
<?php namespace app\index\controller; use think\exception\ValidateException; use think\facade\Request; class Index extends BaseController { /** * 显示资源列表 * * @return \think\Response */ public function index(Request $request) { return Request::url(); } /** * 显示建立资源表单页. * * @return \think\Response */ public function create() { // } /** * 保存新建的资源 * * @param \think\Request $request * @return \think\Response */ public function save(Request $request) { // } /** * 显示指定的资源 * * @param int $id * @return \think\Response */ public function read($id) { // } /** * 显示编辑资源表单页. * * @param int $id * @return \think\Response */ public function edit($id) { // } /** * 保存更新的资源 * * @param \think\Request $request * @param int $id * @return \think\Response */ public function update(Request $request, $id) { // } /** * 删除指定资源 * * @param int $id * @return \think\Response */ public function delete($id) { // } public function __call($name, $arguments) { // TODO: Implement __call() method. return 'error request'; } }
输入网址 http://localhost:8082/ 返回斜杠ajax
须要引入thinkphp
use think\facade\Request;
在中间件里设置变量,而后使用has进行检测。
或者能够输入参数的方式获取变量apache
路由设置json
<?php use think\facade\Route; Route::rule('ming/:name', 'index/index');
控制器设置缓存
<?php namespace app\index\controller; use think\exception\ValidateException; use think\facade\Request; class Index extends BaseController { /** * 显示资源列表 * * @return \think\Response */ public function index($name) { return Request::param('name'); } /** * 显示建立资源表单页. * * @return \think\Response */ public function create() { // } /** * 保存新建的资源 * * @param \think\Request $request * @return \think\Response */ public function save(Request $request) { // } /** * 显示指定的资源 * * @param int $id * @return \think\Response */ public function read($id) { // } /** * 显示编辑资源表单页. * * @param int $id * @return \think\Response */ public function edit($id) { // } /** * 保存更新的资源 * * @param \think\Request $request * @param int $id * @return \think\Response */ public function update(Request $request, $id) { // } /** * 删除指定资源 * * @param int $id * @return \think\Response */ public function delete($id) { // } public function __call($name, $arguments) { // TODO: Implement __call() method. return 'error request'; } }
访问 url http://localhost:8082/index/ming/45
此时页面输出 45
当请求为?的时候,使用get获取服务器
一样能够使用助手函数获取app
添加 _method 进行假装dom
<?php namespace app\index\controller; use think\exception\ValidateException; use think\facade\Request; class Index extends BaseController { /** * 显示资源列表 * * @return \think\Response */ public function index($name) { return Request::header('user-agent'); } /** * 显示建立资源表单页. * * @return \think\Response */ public function create() { // } /** * 保存新建的资源 * * @param \think\Request $request * @return \think\Response */ public function save(Request $request) { // } /** * 显示指定的资源 * * @param int $id * @return \think\Response */ public function read($id) { // } /** * 显示编辑资源表单页. * * @param int $id * @return \think\Response */ public function edit($id) { // } /** * 保存更新的资源 * * @param \think\Request $request * @param int $id * @return \think\Response */ public function update(Request $request, $id) { // } /** * 删除指定资源 * * @param int $id * @return \think\Response */ public function delete($id) { // } public function __call($name, $arguments) { // TODO: Implement __call() method. return 'error request'; } }
输入 http://localhost:8082/index/ming/name
返回当前的头信息
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) snap Chromium/74.0.3729.169 Chrome/74.0.3729.169 Safari/537.36
配置文件修改伪静态。。
服务器须要支持.htass文件
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- // +---------------------------------------------------------------------- // | 应用设置 // +---------------------------------------------------------------------- return [ // PATHINFO变量名 用于兼容模式 'var_pathinfo' => 's', // 兼容PATH_INFO获取 'pathinfo_fetch' => ['ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL'], // pathinfo分隔符 'pathinfo_depr' => '/', // HTTPS代理标识 'https_agent_name' => '', // URL伪静态后缀 'url_html_suffix' => 'html', // URL普通方式参数 用于自动生成 'url_common_param' => true, // 是否开启路由延迟解析 'url_lazy_route' => false, // 是否强制使用路由 'url_route_must' => false, // 合并路由规则 'route_rule_merge' => false, // 路由是否彻底匹配 'route_complete_match' => false, // 使用注解路由 'route_annotation' => false, // 是否开启路由缓存 'route_check_cache' => false, // 路由缓存链接参数 'route_cache_option' => [], // 路由缓存Key 'route_check_cache_key' => '', // 访问控制器层名称 'controller_layer' => 'controller', // 空控制器名 'empty_controller' => 'Error', // 是否使用控制器后缀 'controller_suffix' => false, // 默认的路由变量规则 'default_route_pattern' => '[\w\.]+', // 域名根,如thinkphp.cn 'url_domain_root' => '', // 是否自动转换URL中的控制器和操做名 'url_convert' => true, // 表单请求类型假装变量 'var_method' => '_method', // 表单ajax假装变量 'var_ajax' => '_ajax', // 表单pjax假装变量 'var_pjax' => '_pjax', // 是否开启请求缓存 true自动缓存 支持设置请求缓存规则 'request_cache' => false, // 请求缓存有效期 'request_cache_expire' => null, // 全局请求缓存排除规则 'request_cache_except' => [], // 默认控制器名 'default_controller' => 'Index', // 默认操做名 'default_action' => 'index', // 操做方法后缀 'action_suffix' => '', // 默认JSONP格式返回的处理方法 'default_jsonp_handler' => 'jsonpReturn', // 默认JSONP处理方法 'var_jsonp_handler' => 'callback', ];
链接以下
http://localhost:8082/index.php/index/ming/name.html
此时访问的等价于
http://localhost:8082/index.php/index/ming/name
这个链接
http://localhost:8082/index/ming/year/34/month/34
定义路由
<?php use think\facade\Route; Route::rule('ming/year/:year/month/<month>', 'index/index');
其中month为可选
控制器以下
<?php namespace app\index\controller; use think\exception\ValidateException; use think\facade\Request; class Index extends BaseController { /** * 显示资源列表 * * @return \think\Response */ public function index($year, $month = '01') { return $year . $month; } /** * 显示建立资源表单页. * * @return \think\Response */ public function create() { // } /** * 保存新建的资源 * * @param \think\Request $request * @return \think\Response */ public function save(Request $request) { // } /** * 显示指定的资源 * * @param int $id * @return \think\Response */ public function read($id) { // } /** * 显示编辑资源表单页. * * @param int $id * @return \think\Response */ public function edit($id) { // } /** * 保存更新的资源 * * @param \think\Request $request * @param int $id * @return \think\Response */ public function update(Request $request, $id) { // } /** * 删除指定资源 * * @param int $id * @return \think\Response */ public function delete($id) { // } public function __call($name, $arguments) { // TODO: Implement __call() method. return 'error request'; } }
此时输入
http://localhost:8082/index/ming/year/34/month/34
返回
3434
将会对请求进行缓存