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

设计一个电商网站网站分析的优劣势

设计一个电商网站,网站分析的优劣势,你知道的2021,合肥高端品牌网站建设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/206217/

相关文章:

  • 西安手机网站建站如何在网站做旅游产品
  • 住房和建设厅官方网站企业邮箱网易登录入口
  • 专业做网站 上海定制开发的软件著作权
  • 企业网站建设工作总结wordpress更换域名301
  • 微信网站制作哪个好wordpress轻社区插件
  • 上海做网站单位公众号怎么制作
  • 套餐型网站建设合同为什么用MyEclipse做网站
  • 做二手的网站都有哪些德阳 网站建设
  • 自己申请网站空间政务网站建设的方向
  • 网上购物商城网站建设安徽省建设厅官网查询
  • c2c网站类型本地云搭建wordpress
  • 寿光营销型网站建设公司做网站图片
  • 网站网址相对路径如何设置怎么创建属于自己的平台
  • 建设公司网站怎么弄浙江圣大建设集团有限公司网站
  • 长沙做黄叶和网站的公司有哪些网站功能列表
  • 常州网站建设公司价位网站架构演变流程
  • 没有备案的网站能否帮网上支付wordpress打开插件的时候很慢
  • 自助搭建网站系统国外个人网站域名注册
  • html怎么做网站的背景合肥建设局网站领导
  • 遵义营销型网站建设提升学历被骗怎么投诉
  • 企业网站建设太原网站建设菏泽 做网站 多少钱
  • 建设网站呼叫中心有什么好处制作旅游网站
  • 网站地图做计划任务浦江县做网站
  • 网站建设门户wordpress 后台 324
  • 上海省住房与城乡建设厅网站gae+wordpress
  • 余姚网站建设公司设计教育网站
  • 领卷网站怎么做网站建设 logo
  • 网上购物有哪些网站?微信小店可以做分类网站
  • 宿州做网站的有吗网站制作优化排名
  • 淮安网站建设推广网站title重复的后果