Thinkphp5.0 框架的请求方式与响应方式分析

本文实例讲述了Thinkphp5.0 框架的请求方式与响应方式。分享给大家供大家参考,具体如下:

Thinkphp5.0 的请求方式

方法一(使用框架提供的助手函数):

public function index(){
  $request = request();
  dump($request);
}

方法二(使用think下的Request类,来获取实例):

use think\Request;
public function index(){
  $request = Request::instance();
  dump($request);
}

方法三(使用think下的Request类,注入对象的方式):

use think\Request;
class Index{
  public function index(Request $request){
    dump($request);
  }
}

常用的request方法:

//浏览器地址信息
dump($request->domain());
dump($request->path());
dump($request->url());
//请求方式
dump($request->method());
dump($request->isGet());
dump($request->isPost());
dump($request->isAjax());
//获取参数
dump($request->get());
dump($request->post());
dump($request->param());
//具体的某一个参数
dump($request->get('id'));
//获取session和cookie
//session('username','zhang san');
dump($request->session());
dump($request->cookie());
//获取当前的模块、控制器、操作
dump($request->module());
dump($request->controller());
dump($request->action());

input()助手函数

//input助手函数的使用
//input()默认取$request->param()方法
//不指定方法时默认是get方式
dump(input('id'));
dump(input('get.id'));
dump($request->get('id'));
dump(input('post.id',100));//第二个参数是默认值
dump($request->post('id',100));

Thinkphp5.0 的响应方式

$res = config('default_return_type');
dump($res);//默认是html
//修改为json
\think\Config::set('default_return_type','json');
$res = config('default_return_type');
dump($res);//json
$data = ['code'=>200,'result'=>['id'=>1,'name'=>'aa']];
return $data;

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

(0)

相关推荐

  • thinkPHP5框架闭包函数与子查询传参用法示例

    本文实例讲述了thinkPHP5框架闭包函数用法.分享给大家供大家参考,具体如下: 普通使用 举个栗子: $this->where(function ($query) { $query->where('id', 1)->whereor('id', 2); })->find(); 上述栗子就是一个简单的where查询的闭包函数使用,使用匿名函数添加复杂条件查询, 最后执行的sql是: // 加入上述代码写在user模型里,则执行的sql为: select * from user wh

  • thinkPHP中U方法加密传递参数功能示例

    本文实例讲述了thinkPHP中U方法加密传递参数功能.分享给大家供大家参考,具体如下: thinkPHP中的U方法用于对URL地址进行组装.可自动根据当前的URL模式和设置生成对应的URL地址.基本使用可参考 //www.jb51.net/article/51057.htm 具体代码如下: <?php /** * 简单对称加密算法之加密 * @param String $string 需要加密的字串 * @param String $skey 加密EKY */ function encode(

  • ThinkPHP3.1新特性之Action参数绑定

    ThinkPHP3.1版的Action参数绑定功能提供了URL变量和操作方法的参数绑定支持,这一功能可以使得你的操作方法定义和参数获取更加清晰,也便于跨模块调用操作方法.这一新特性对以往的操作方法使用没有任何影响,你也可以用新的方式来改造以往的操作方法定义. Action参数绑定的原理是把URL中的参数(不包括分组.模块和操作地址)和控制器的操作方法中的参数进行绑定.例如,我们给Blog模块定义了两个操作方法read和archive方法,由于read操作需要指定一个id参数,archive方法需

  • thinkPHP5.0框架应用请求生命周期分析

    本文实例讲述了thinkPHP5.0框架应用请求生命周期.分享给大家供大家参考,具体如下: 本篇内容我们对ThinkPHP5.0的应用请求的生命周期做大致的介绍,以便于开发者了解整个执行流程. 1.入口文件 用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件.当然,你也可以更改或者增加新的入口文件. 通常入口文件的代码都比较简单,一个普通的入口文件代码如下: // 应用入口文件 // 定义项目路径 define('APP_PATH', __DIR__ . '/..

  • thinkphp中html:list标签传递多个参数实例

    本文实例讲述了关于thinkphp中html:list标签传多个参数问题解决办法,分享给大家供大家参考.具体分析如下: 此改动 针对thinkphp 2.0 版本有效,thinkphp 3.0 版本 未测试. 主要修改这个文件 /Thinkphp/Lib/Think/Template/Taglib/TabLibHtml.class.php 的 _list 方法 注释有新增内容的代码部分是新增加的 主要通过 -- 分割多个参数(会自动替换为,) 复制代码 代码如下: public function

  • TP5框架请求响应参数实例分析

    本文实例讲述了TP5框架请求响应参数.分享给大家供大家参考,具体如下: 1.请求 //导入系统请求类 use think\Request; class Index { public function index(Request $request) { // 以形参的方式在方法中使用 // 1.获取请求方式 $request->method(); // 2.获取访问ip $request->ip(); // 3.获取所有请求参数 $request->param(); // 4.获取所需请求

  • ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

    在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果.查看数据库发现数据是存在的.问题出在哪了呢? 形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用 参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果. 紧接着测试转换编码iconv()函数,结果成功了. 浏览器默认的编码是GB2312的,而这个项

  • thinkphp中ajax与php响应过程详解

    本文实例分析了thinkphp中ajax与php响应过程.分享给大家供大家参考.具体分析如下: 一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新. 首先我们需要做的就是在前台页面中添加一个文本"删除",可以这么添加: 复制代码 代码如下: <a href="javascript:void(0);" id= "<

  • ThinkPHP连接数据库操作示例【基于DSN方式和数组传参的方式】

    本文实例讲述了ThinkPHP连接数据库操作.分享给大家供大家参考,具体如下: 一 代码 1.完成入口函数的编写 <?php define('THINK_PATH', '../ThinkPHP'); //定义ThinkPHP框架路径(相对于入口文件) define('APP_NAME', 'App'); //定义项目名称 define('APP_PATH', './App'); //定义项目路径 require(THINK_PATH."/ThinkPHP.php"); //加载框

  • thinkPHP5.1框架路由::get、post请求简单用法示例

    本文实例讲述了thinkPHP5.1框架路由::get.post请求简单用法.分享给大家供大家参考,具体如下: 1.在index模块下的控制器index里面建立一个type方法 public function type(){ var_dump(input()); echo '我是测试类型'; return view(); } 2.在index模块下新建view视图建立index文件夹创建type.html页面 <!DOCTYPE html> <html lang="en&quo

随机推荐