当前位置: 首页 > news >正文

logo注册网站手机网站有免费做的吗

logo注册网站,手机网站有免费做的吗,软文营销范文100字,网站页面架构怎么写ThinkPHP 通用的API格式封装 1.创建status.php 用于设置通用的状态码返回枚举类2.将API返回格式统一封装3.重写BaseController中的__call方法4.在控制器下面新建Error控制器&#xff0c;然后添加__call方法 1.创建status.php 用于设置通用的状态码返回枚举类 <?phpreturn[…

ThinkPHP 通用的API格式封装

  • 1.创建status.php 用于设置通用的状态码返回枚举类
  • 2.将API返回格式统一封装
  • 3.重写BaseController中的__call方法
  • 4.在控制器下面新建Error控制器,然后添加__call方法

1.创建status.php 用于设置通用的状态码返回枚举类

<?phpreturn["success"=>1,"error"=>0,"controller_not_found"=>-1,"action_not_found"=>-2,
];

2.将API返回格式统一封装

<?php/**API 统一格式化* @param $status* @param $message* @param $data* @param $httpStatus* @return \think\response\Json*/
function show($status,$message,$data=[],$httpStatus=200){$result = ["status"=>$status,"message"=>$message,"data"=>$data,];return json($result,$httpStatus);
}

3.重写BaseController中的__call方法

在BaseController中重写__call方法,当调用不存在的方法时,就会调用__call方法,会传入请求方法和参数

<?php
declare (strict_types = 1);namespace app;use think\App;
use think\exception\ValidateException;
use think\Validate;/*** 控制器基础类*/
abstract class BaseController
{/*** Request实例* @var \think\Request*/protected $request;/*** 应用实例* @var \think\App*/protected $app;/*** 是否批量验证* @var bool*/protected $batchValidate = false;/*** 控制器中间件* @var array*/protected $middleware = [];/*** 构造方法* @access public* @param  App  $app  应用对象*/public function __construct(App $app){$this->app     = $app;$this->request = $this->app->request;// 控制器初始化$this->initialize();}// 初始化protected function initialize(){}/*** 验证数据* @access protected* @param  array        $data     数据* @param  string|array $validate 验证器名或者验证规则数组* @param  array        $message  提示信息* @param  bool         $batch    是否批量验证* @return array|string|true* @throws ValidateException*/protected function validate(array $data, string|array $validate, array $message = [], bool $batch = false){if (is_array($validate)) {$v = new Validate();$v->rule($validate);} else {if (strpos($validate, '.')) {// 支持场景[$validate, $scene] = explode('.', $validate);}$class = false !== strpos($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate);$v     = new $class();if (!empty($scene)) {$v->scene($scene);}}$v->message($message);// 是否批量验证if ($batch || $this->batchValidate) {$v->batch(true);}return $v->failException(true)->check($data);}// 重写__call部分public function __call(string $name, array $arguments){// TODO: Implement __call() method.return show(config("status.action_not_found"),"找不到{$name}方法",null,404);}
}

在这里插入图片描述

4.在控制器下面新建Error控制器,然后添加__call方法

在控制器下面新建Error控制器,然后添加__call方法,这样就会调用不存在的控制器的时候会调用__call方法,会传入请求的控制器名称和参数

<?php
namespace app\index\controller;class Error{public function __call(string $name, array $arguments){// TODO: Implement __call() method.return show(config("status.controller_not_found"),"找不到{$name}控制器",null,404);}
}

测试

在这里插入图片描述

在这里插入图片描述

假定一个成功的请求,测试一下

public function jsonTest(){$data = ['name' => 'thinkphp', 'status' => '1'];return show(config("status.success"),"请求成功",$data);
}

在这里插入图片描述


http://www.yayakq.cn/news/152284/

相关文章:

  • 兼职做放单主持那个网站好找山东制作app公司
  • 西安做网站的云阔官方网站下载拼多多
  • 贵阳网站建设980包年秒搜科技Sa50广州网站建设网站制作公司
  • 无锡网站seo顾问wordpress 分类存档
  • 网站制作公司杭州手机电子商务网站建设问卷调查
  • 蓝杉网站建设公司中国招标建设信息网站
  • 营销型网站建设iop建设公司网站需要准备哪些材料
  • 网站建设与维护教学课件附近电脑培训班零基础
  • 房产网站模板网页搜索能力属于什么素养
  • 安徽工程建设信息网站进皖企业域名注册服务机构
  • 中国品牌网站个人做房产网站
  • wordpress图片质量插件做seo网站标题用什么符号
  • 网站上线之前做哪些工作怎么把网站做火
  • 网站建设倒计时模板大学毕业做网站插画师好吗
  • 做百度企业网站wordpress分类目录title
  • 响应式网站视频胶州网站建设电话
  • 天正电气网站建设专门做免费东西试吃的网站
  • 陕西网站备案 多久页面设计多少钱
  • 宇泽佛山网站建设江门网站推广策划
  • 网站推广的方法搜索引擎网站设计工程师
  • 网站与app的区别自己做的网站发布详细步骤
  • 男的女的做那个视频网站国外著名室内设计网址
  • 交流建设网站南宁正规公众号网站建设推广
  • 南庄网站建设长沙网站建设公司哪家专业
  • 功能性的网站平价建网站格
  • 聊城企业做网站推广源码之家关闭了
  • 山东省住房城乡建设厅网站首页小程序注册条件
  • 成都网站优化网移动商城积分
  • 大连海外网站建设收录
  • 网站营销建设公司农家乐网站规划与建设方案