tp6杜绝无效请求

  • 在config/app.php文件里可以修改开发者模式等(true/false)

魔术方法call

方法不存在时

当程序调用当前类中未声明或者没有权限调用的方法时,系统会自动调用该方法

public function __call($name,$arguments){
	$result = [
	'status'=>0,
	'message'=>"找不到该方法",
	'result'=>null,
	];
	return json($result, code:400);
}
当控制器不存在时

须在controller文件夹下创建一个Error.php文件,仅需把上面的方法复制到该文件夹下即可

<?php
namespace app/controller;
class Error{
public function __call($name,$arguments){
	$result = [
	'status'=>0,
	'message'=>"找不到该控制器",
	'result'=>null,
	];
	return json($result, code:400);
}
}

通用化API数据-格式数据

将方法封装controller/commen文件内,然后直接在basecontroller内部调用即可

//commen.php
// 应用公共文件
function show($status, $message = "error", $data = [], $httpStatus = 200)
{
    $result = [
        "status" => $status,
        "message" => $message,
        "result" => $data,
    ];
    return json($result, $httpStatus);
}
//basecontroller
function __call($name,$arguments){
retutn show(0,"找不到该方法",2,404)
}

通用化API数据-格式数据(优化)

  • 将状态码,message等数据格式化
// config/status.php
<?php
/*该文件主要存放业务状态码相关的配置*/
return [
    "success" => 1,
    "error" => 0,
    "not_login" => -1,
    "user_is_register" => -2,
    "action_not_found" => -3,
];
//basecontroller.php
    public function __call($name, $arguments)
    {
 		return show(config("status.action_not_found"),"找不到该方法",2,404);
    }

get:当在url输入未存在的方法时,系统会自动调用call魔术方法,并自动运行。我们需在call方法内写出提示报错信息。报错信息亦可分解拆开,将状态码,数据重新命名写入配置文件,即可重复调用。大大提高了系统的可维护性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值