创建文件 BaseException.php
<?php
namespace app\exception;
class BaseException extends \Exception
{
private $data;
public function __construct($message = null, $code = 0, $data=null, \Exception $previous = null)
{
$this->data = $data;
parent::__construct($message, $code, $previous);
}
public function getData()
{
return $this->data;
}
}
引用:
use app\exception\BaseException;
案列:
try{
if (!$client || !$bdid) {
throw new BaseException('非法参数', 50001);
}
//限制普通用户查看信息详情必须登录
if (!Login::checkLogin()) {
$url = $client == 'mobile' ? url('wechat/login/login') : url('index/login/index');
throw new BaseException('需要登录后才能查看', 10001, ['url' => $url]);
}
//判断会员今天访问是否达到上限
if (serviceUser::UserTodayVisitLimit($bdid)){
$url = $client == 'mobile' ? url('wechat/Viper/viperList') : url('index/Viper/viperList');
throw new BaseException('普通用户一天之内只能看两篇投标文档,如需继续观看请开通VIP', 10002, ['url' => $url]);
}
} catch (BaseException $e) {
return apiReturn(['status' => 1, 'msg'=>$e->getMessage(), 'code' => $e->getCode(), 'data' => $e->getData()]);
}