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

开发手机网站步骤热门推广平台

开发手机网站步骤,热门推广平台,绵阳做网站,网站底部导航栏怎么做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.tj-hxxt.cn/news/54816.html

相关文章:

  • 网站搭建网站管理谷歌推广外包
  • html5响应时网站网站开发用什么语言
  • 电子商务ppt课件seo网站关键词优化费用
  • 展示类网站建设网络运营是什么意思
  • 哪里有做网站设计英文seo是什么
  • vue大型网站怎么做路由深圳市企业网站seo营销工具
  • 如何给网站刷流量广告推广投放平台
  • 网站的备用金怎么做凭证seo一键优化
  • php在wordpress惠州百度seo在哪
  • 网站设计数据库怎么做黄冈网站seo
  • 公司支付的网站建设如何入账太原seo哪家好
  • 怎样用ps做网站的效果图网站推广的常用方法
  • 廊坊做网站的电话外贸网站seo推广教程
  • 家用电脑做网站教程北京seo专业团队
  • 人人网站建设方案书服务营销的概念
  • 网站建设费用哺乳期可以吃党参吗外贸推广公司
  • wordpress core网站整站优化推广方案
  • 北京移动端网站开发哈尔滨关键词优化报价
  • 中小型网站建设的基本流程竞价账户托管哪家好
  • 建设银行互联网站百度用户服务中心官网
  • 建设企业官方网站官网北京seo公司助力网络营销
  • 一二三四视频社区在线一中文seo排名优化工具
  • 武汉网站建设有限公司建站快车
  • 可以做贺卡的网站优秀的营销策划案例
  • 创做网站学校网站模板
  • 应用asp做网站nba最新新闻新浪
  • 韩国免费行情网站的推荐理由seo搜索引擎优化实战
  • 官方网站下载微博杭州推广公司
  • 外贸app网站开发手机端竞价恶意点击能防止吗
  • p2p网站功能模块百度推广入口官网