多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Thinkphp6重点技术 ### 1.self::create($datas)全自动将数据写入数据库 > ``` > public static function store($data){//Model方法 > protected $name='users'; >         $datas = [ > 'username'=>$data['username'], > 'password'=>\password_hash($data['password'],\PASSWORD_DEFAULT) >         ]; > if(self::create($datas)){//create 方法自动写入数据 > return true; >         }else{ > return false; >          } >  } > ``` ### 2.控制器中的方法获取请求相关参数及数据: 再进行数据验证入库 1.依赖注入方法 > ``` > > class Users extends Common  > { > public function create(Request $request) >     { > halt($request);//初始化参数中进行参数过滤,参数验证规则 >     } > } > ``` 2. 基础控制器基类,调用父类构造方法,取成员变量数据 > ``` > > class Common extends BaseController > { > protected function initialize()//初始化参数中进行参数过滤,参数验证规则 >     { > parent::initialize(); >         halt($this->request->get());//获取参数 >     } > } > ``` >3.跨域问题 1.CORS 头缺少 'Access-Control-Allow-Origin' ~~~ //在请求控制器加上加上下面的代码 header("Access-Control-Allow-Origin: * "); ~~~ ``` //在路由上添加以下代码 allowCrossDomain(['Access-Control-Allow-Headers'=>'sign,content-type']) ``` 4.异常接管 1.异常定义 > 服务器异常 > 非服务器异常(用户行为造成的) 2.开发api接口需要接管thinkphp异常接管类 返回给客户端数据 不接管是返回的html异常页面 > ``` > 1.接管Handle类 根据业务需求重新 > 2.重写HttpException类 让状态码返回客户端 简化传参 > 3.关闭ENV APP_DEBUG = false 配置 > ``` 3.使用 在需要的地方手动抛出 > > ``` > throw new HttpExceptions(400, '签名错误',60007); > ```