ThinkPHP5小程序笔记(一)

ThinkPHP5

  • Web框架三大核心知识(路由、控制器与模型)TP5最灵活、最复杂的三大块:路由、获取参数值、数据库操作
    URL路由配置文件修改路由模式
    PATH_INFO
// 是否开启路由
'url_route_on'           => false,

混合模式:PATH_INFO和路由模式都可以使用

// 是否开启路由
'url_route_on'           => true,

强制使用路由模式:application目录下route.php文件配置路由,地址栏直接访问hello,与laravel框架路由类似;

// 是否强制使用路由
'url_route_must'         => true,

use think\Route;
Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');
Route::rule('hello','sample/test/hello','get|post',['https' => false]);
Route::get();
Route::post();
Route::any();

Route::get('hello/:id','sample/test/hello');地址栏:域名/hello/4564?name=gsy


ThinkPHP5小程序笔记(一)_第1张图片
接收

Route::post('hello/:id','sample/test/hello');获取所有输入参数:input('param.');


ThinkPHP5小程序笔记(一)_第2张图片
Postman测试
ThinkPHP5小程序笔记(一)_第3张图片
接收
  • 验证器、读取器、缓存与全局异常处理
  • ORM:模型与关联模型

微信

  • 微信小程序
  • 微信登录
  • 微信支付(预订单、库存量检测与回调通知处理)
  • 微信模板消息

MySQL

  • 数据库表设计
  • 数据冗余的合理利用
  • 事务与锁在订单(库存量)检测中的应用

TP5安装断点调试

[Xdebug]下载地址(https://xdebug.org/)或直接开启xdebug扩展,在php.ini文本末尾将php_xdebug注释符去掉,重启服务,打印phpinfo()查看xdebug详细信息;

PHPstorm小技巧

添加项目命名空间:设置-Directories-找到相应的项目应用目录(将目录标记为Sources)-右边点击P更改命名空间名称;保存设置,那么在框架中新建类文件时将会自动生成命名空间;

接口测试工具

Postman,可以在Chrome浏览器扩展程序里下载,非常好用的一款测试工具多种路由请求类型;

TP5_Validate

独立验证(作为了解)

        $data = [
            'name' => 'gsy',
            'email' => 'wejfl@qqcom'
        ];
        $validate = new Validate([
            'name' => 'require|max:10',
            'email' => 'email'
        ]);
        $result = $validate->batch()->check($data);//循环比对数据验证
        var_dump($validate->getError());//打印错误信息
        var_dump($result);

验证器(主要使用),二者区别:验证器对于validte的规则做了更好的封装;

        $data = [
            'name' => 'gsy',
            'email' => 'wejfl@qqcom'
        ];
        //验证器
        $validate = new TestValidate();
        $result = $validate->batch()->check($data);//循环比对数据验证
        var_dump($validate->getError());//打印错误信息
ThinkPHP5小程序笔记(一)_第4张图片
验证器

什么是REST?什么是SOAP?

SOAP(Simple Object Access Protocol):使用XML描述数据,重;
REST(Representational State Transfer):使用JSON描述数据表述性状态转移,轻,它是一种风格、约束、设计理念;
RESTFul API:基于REST的API设计理论,轻,使用JSON描述数据,无状态;

RESTFul API豆瓣API文档最佳实践,HTTP动词(幂等性、资源安全性,类似于CURD)

POST:创建
PUT:更新
GET:查询
DELETE:删除

异常分类

由于用户行为导致的异常:
1、用户输入的参数没有通过验证器的校验;
2、用户输入的信息没有查询到结果;
通常不需要记录日志,需要向用户返回具体信息
服务器自身的异常:
1、代码错误;
2、调用外部接口的错误;
记录日志,不需要想用户返回具体原因;

ThinkPHP5中的日志系统

由于用户操作不当而导致的错误信息不需要也不应该记录下来的,否则导致系统日志的信息很多都是无用的,因为不是自己代码的错误造成的而是用户造成的,所以无需存些与程序本身无关的错误信息。TP5默认会把所有的异常都给写进日志里,我们需要把TP5的自动记录给关闭掉,然后手动的有选择的来记录日志。
1、关闭TP5自动记录日志,配置文件

// +----------------------------------------------------------------------
// | 日志设置
// +----------------------------------------------------------------------

    'log' => [
        // 日志记录方式,内置 file socket 支持扩展
        'type'  => 'test',
        // 日志保存目录
        'path'  => LOG_PATH,
        // 日志记录级别
        'level' => [],
    ]

2、手动有选择的记录日志


ThinkPHP5小程序笔记(一)_第5张图片

AOP面向切面编程

exception目录,全局异常处理就是一个典型的AOP思想;

你可能感兴趣的:(ThinkPHP5小程序笔记(一))