# 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);
> ```
- 序言
- 项目开发前准备
- phpstudy安装及介绍
- thinkphp6安装及介绍
- HBuider X安装及介绍
- php_mysql安装及介绍
- apache_composer安装及介绍
- PHP快速入门
- 重点技术
- MYSQL快速入门
- JS快速入门
- 重点技术
- Vue快速入门
- Uniapp快速入门
- 常见问题
- 重点技术
- Thinkphp6快速入门
- 重点技术
- 基础知识
- 常见问题
- Html5快速入门
- Css快速入门
- Flex布局快速入门
- Flex基础知识
- 快捷布局方式
- Axure PR 快速入门
- Axure9安装
- 《代办服务下单系统》项目确认
- 需求商务确认
- 项目合同确认
- 《代办服务下单系统》项目概况
- 系统架构
- 系统流程
- 页面流程
- 系统功能
- 《代办服务下单系统》项目原型设计
- 业务员端原型设计
- 客户端原型设计
- 公司后台原型设计
- 供应商端原型设计
- 《代办服务下单系统》美工UI设计(略)
- 《代办服务下单系统》项目界面开发
- 业务员端界面
- 《代办服务下单系统》前端数据处理
- 《代办服务下单系统》项目api开发
- api基础知识
- postman入门
- VS code 编辑器
- Node.js调试环境
- crypto-js加密库
- 用户注册api接口开发
- 用户登陆接口api开发
- 《代办服务下单系统》数据库设计
- 业务员表设计
- 《代办服务下单系统》功能模块开发
- 《代办服务下单系统》项目测试报告
- 《代办服务下单系统》项目实施培训
- 《代办服务下单系统》项目维护记录
- 《代办服务下单系统》二次开发备忘
- 附录
- 界面流程
- 功能清单
- 数据字典
- 更新日志
- 关于文档