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思想;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

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