ThinkPHP5.1
文章平均质量分 88
qq_38253703
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Thinkphp5使用Elasticsearch7.0(或以上)
Elastic 7.0以上的版本跟6.0的版本差距非常大,主要是没有type了,网上很多都是老版本的教程。导致我走了很多弯路。一、使用composer安装Elasticsearchcomposer require elasticsearch/elasticsearch二、新建一个文件ElasticSearch.php<?phpnamespace app\common\library;use Elasticsearch\ClientBuilder;use think\Config;原创 2020-11-05 11:09:18 · 1336 阅读 · 1 评论 -
tp5.1使用自定义中间件验证参数
之前写了一篇tp5.1重构参数校验层的文章,没看过的可以去看看tp5.1重构参数校验层比如,我们需要创建一个用户,则需要对用户名,密码、邮箱等参数进行校验,所以先创建个User验证器。代码如下:<?phpnamespace app\validate;class User extends Base{ protected $rule = [ 'username...原创 2020-04-19 20:33:02 · 1581 阅读 · 0 评论 -
tp5.1定义API版本号
目录结构如图:路由如下:访问URL:http://localhost/api/v1/banner/1这样就只需要客户端调整修改v1或v2的参数就可以调用我们不同版本的控制器。扩展问题:为什么需要版本号?因为当我们的产品有新版本的时候,一些老的版本的接口我们可能就不再支持使用了,可以删除掉我们以前写的接口的代码,然后写新的代码,但是互联网产品一定要考虑对老版本的兼容性问题,有点用户是不...原创 2019-08-07 17:35:23 · 1441 阅读 · 1 评论 -
实现Token身份权限体系(三)
继续对上节loginFail的结果进行处理,编写一个异常处理方法proccessLoginError和单发令牌grantToken方法(只所以写多一个方法是为了提高扩展性)。这里选择返回客户端,所以要一个自定义异常WeChatException异常。<?phpnamespace app\lib\exception;class WechatExcetion extends Bas...原创 2019-08-08 17:32:05 · 427 阅读 · 0 评论 -
实现Token身份权限体系(二)
我们知道code是要小程序向微信服务器请求的一个code码,使用的是wx.login接口。在小程序调用我们Token模型中的getToken接口时,并传入一个code码参数,之后我们的getToken接口接收该code参数后再携带code参数调用微信的接口来获取openid和session_key。我们将该微信接口地址写入配置文件中。在config目录下,创建wechat.php配置文件,写入...原创 2019-08-08 17:18:45 · 326 阅读 · 0 评论 -
实现Token身份权限体系(一)
新建一个Token控制器<?phpnamespace app\api\controller\v1;use think\Controller;class Token extends Controller{ public function getToken($code='') { }}编写路由,注意这里是post,传过来的cod...原创 2019-08-08 17:11:26 · 1455 阅读 · 0 评论 -
tp5.1 API 自定义全局异常处理(下)
tp5.1自带的错误页面是非常清晰的,而客户端的开发者需要一个简化的 json 信息,前面的上中两篇已经具体介绍了如何返回 json 信息,但是作为客户端开发我们还是希望使用 tp5.1 自带的错误页面来定位错误,这样如何调和呢?我们可以通过一个开关来进行操作,开关开的时候返回具体的包含错误信息的 html 页面,如果开关是关闭的我们就返回 json。现在我们来分析一下思路,我们通过自己写的 r...原创 2019-07-30 20:53:59 · 1007 阅读 · 0 评论 -
tp5.1 API 自定义全局异常处理(中)
我们先来梳理一下异常的分类:tp5.1 有一个全局异常处理类,如果我们想自己实现上面的分类,需要覆盖和重写默认的全局异常处理类。我们现在在 api 模块的同级下新建一个 lib 文件夹,再新建一个 exception 文件夹。(我们想让这个 exception 里的类是一个通用的,可以供很多模块使用的一个类库。)新建 ExceptionHandler 的 php class,并继承 Ha...原创 2019-07-30 17:41:37 · 1893 阅读 · 1 评论 -
tp5.1 API 自定义全局异常处理(上)
我们接着重构 tp5.1 参数校验层的项目进行下面的演示。现在我们来假设这一种情况,客户端传来了 id 为 50,由于 50 是正整数,所以通过了参数校验,但我们的数据库中没有 id 号为 50 的user,这时候我们就需要进行相应的异常处理。注:在Restful API开发中,查询不到数据也可认为是异常...原创 2019-07-30 17:27:02 · 1116 阅读 · 3 评论 -
tp5.1重构参数校验层
例如我们现在 tp5.1 项目中有一个名为 User 的控制器。里面有一个需要传入 $id 的 getUserById 操作。现在需要对参数 $id 进行正整数校验,直白的做法马上就会映入我们的脑海,以下为伪代码:public function getUserById($id){ $validate = Validate::make([ 'id' => 'positiv...原创 2019-07-30 12:18:27 · 434 阅读 · 0 评论
分享