安装
Thinkphp5有三种安装方式: 1、从github克隆 2、composer安装 3、直接从TP5的官网下载压缩包解压即可。
配置
默认的配置在/thinkphp/convertion中,但通过在/public/index.php中添加一条语句
define(‘CONF_PATH’,DIR . ‘/../conf/’);
可以定义一个优先级更高的配置点,我们在与application同级的目录下新建一个名为conf的文件夹,在其中新建config.php文件,就可以在其中修改全局配置了。还有其他多种配置,包括应用配置、扩展配置、场景配置、模块配置、动态配置。这些配置都是通过区别优先级来适配各种场景。还有config类以及config助手函数,都是为了快速切换配置来提高开发效率。

关于request对象
三种生成方法,分别是: 1、$request = request(); 2、use think\Request; public function Index(Requset $request){
} 3、use think\Request; public function Index(){ $request = Request::instance(); } 在日常使用中,推荐第二种,比较正式,也比较简洁。接下来展示一下request的各种方法的使用。
public function index(Request $request)
{
//获取浏览器地址栏的部分值,以http://127.0.0.1/thinkphp5/public/index/index/index/type/5.html?id=8为例
//获得域名,此处为http://127.0.0.1
dump($request->domain());
//获得路径名,此处为index/index/index/type/5.html
dump($request->pathinfo());
//获得真实路径名,此处为index/index/index/type/5
dump($request->path());
//请求类型
//判断请求类型,此处为GET
dump($request->method());
//判断是否为GET,此处为true
dump($request->isGet());
//判断是否为POST,此处为false
dump($request->isPost());
//判断是否为Ajax,此处为false
dump($request->isAjax());
//请求的参数
//获取get方式传递的参数,此处为array(["id"] => "8")
dump($request->get());
//获取post方式传递的参数,此处为array()
dump($request->post());
//获取传递的参数,此处为array(["id"] => "8"["type"] => "5")
dump($request->param());
//关于session与cookie
//设置session的值
session('name','heber');
//获取session的参数,此处为array(["name"] => "heber")
dump($request->session());
//获取cookie的参数,此处为array(["PHPSESSID"] => "8bb5b443abe491c906c0d04f433c7a8b")
dump($request->cookie());
//设置cookie的值
cookie('sex','male');
//获取cookie中某个值,此处为male,注意,此方法对session、get、post同样适用
dump($request->cookie('sex'));
//获取控制器、模块、操作,刚好这里都是index
dump($request->controller());
dump($request->module());
dump($request->action());
}
input助手函数
和config助手函数类似,input助手函数也是为了方便我们的使用而出现的。不过还是推荐使用request方法,input助手虽然比较方便,但是可读性较差。具体用法如下
//以http://127.0.0.1/thinkphp5/public/index/index/index/type/5.html?id=abc为例来说明input的使用方法
//取值
//获取id的值,此处为abc
$res = input('id');
dump($res);
//获取以get方式传递的id的值,此处为abc
$res = input('get.id');
dump($res);
//获取以post方式传递的id的值,此处为NULL
$res = input('post.id');
dump($res);
//获取session的值,此处为heber
session('name','heber');
$res = input('session.name');
dump($res);
//设置默认值,即如果参数不存在,则返回默认值
//取sid的值,但sid不存在,此处为默认值100
$res = input('sid',100);
dump($res);
//已存在的变量不会返回默认值,此处为abc
$res = input('id',100);
dump($res);
//第三个参数为传值添加过滤,此处为只允许整形通过,则此处既不是原来的值,也不是默认值,而是0
$res = input('id',10,'intval');
dump($res);
//获取session的值,若session不存在,则返回默认值此处为male
$res = input('session.sex','male');
dump($res);

##响应对象
TP5可以通过convention中的 default_return_type 来定义返回对象的格式,默认为html,我们可以通过动态配置来灵活地改变返回对象的格式。在正式的开发中,可以通过在入口文件配置来一劳永逸地配置。
<?php
namespace app\index\controller;
use think\Request;
use think\Config;
class Index{
public function index($type = 'json')
{
if(!in_array($type,['json','xml'])){
$type = 'json';
}
$data = [
'name' => 'heber',
'age' => '11'
];
Config::set('default_return_type',$type);
return $data;
}
}