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


接收

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


Postman测试
接收
  • 验证器、读取器、缓存与全局异常处理
  • 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());//打印错误信息
验证器

什么是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、手动有选择的记录日志


AOP面向切面编程

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • 理工寝室商店-微信小程序 疑问小结 当时在XAMMP下mysql目录下的bin下 php -v 不起作用.到ph...
    这个超人不会飞阿阅读 1,744评论 1 1
  • Composer Repositories Composer源 Firegento - Magento模块Comp...
    零一间阅读 3,970评论 1 66
  • 旧院的西边有一棵木瓜, 伫立在夏阳冬雪里, 从一颗芽的姿态, 站成一株树的样子, 经过云卷云舒, 看过花开花落, ...
    瓦十三阅读 777评论 0 0
  • 100多年前,清朝政府闭关锁国,对外面的世界避而不见,关起门来自己嗨。1840的鸦片战争,西方的船舰利炮击碎了清朝...
    黑脸阿康阅读 1,744评论 0 3