22. 课程总结
我们学到了什么?
整个课程篇幅并不大,所以我们尽可能精简选择关键点进行讲解,我们在整个课程中主要讲了以下知识点:
- PHP 扩展包与 PHP 扩展的区别;
- 常见的 PHP 扩展包类型介绍,以及常用的优秀扩展包推荐;
- Composer 的基础使用;
- 扩展包的基础结构设计;
- 需求分析和开发思路;
- 业务逻辑的编写;
- 扩展包里合理的异常处理方式;
- 使用 PHPUnit 单元做测试;
- Travis-CI 做自动化测试;
- StyleCI 自动修复代码格式;
- 为 Laravel 扩展包优化;
- 发布到 GitHub 与 Packagist 包的流程;
- 分析了一个稍微复杂的案例 —— EasySMS 。
其实这里面还包含了很多可以扩展的地方,比如 PHPUnit 的配置与使用、使用 Mockery 构建模拟对象、使用 PHP-CS-fixer 来格式化代码等,但是篇幅以及结构设计,我们主要讲了以上的部分,扩展部分还需要你自己去细心扩展学习一下。
技巧分享
可能大部分同学最难的地方并不是课程中流程化的部分,而是如何设计一个类,如何设计方法。这其实是大部分刚入门没多久的同学都会有同样的难处,不过没有关系,当你的代码量达到 10 万行以上的时候,这些问题自然就没了。
但是在你没有这些经验之前,我可以给你分享一些技巧:
- 一个类只干自己相关的事情,比如通知类不要去关心 SMTP 如何构造。
- 一个方法只干一件事儿,如何定义呢?当你给方法起名的时候纠结了,那你的方法设计得就有问题了,
getUserById
,getUsers
这些肯定就是只干了一件事儿。 - 命名要见名知义,动名词格式命名。少用
info
,data
这类无意义词,比如getUserInfo
完全可以叫getUser
。getOrdersData
,getOrdersList
也完全可以写为getOrders
。 - 一个方法尽量不要超过 30 行;
- 认真阅读优秀开源项目的文档,学习其文档结构,认真写自己的文档;
- 观看 《Laravel / PHP 扩展包视频教程》 ,借鉴优秀扩展包的书写方式;
- 社区的 Laravel 扩展排行榜 也是一个不错的扩展发现渠道;
- 多读源码,当你使用一个扩展包时,尝试阅读其源码,理解其设计思路;
- 多分享,分享自己编写的扩展包,将每一次扩展包的学习心得写下来。
下次再见!
课程到这里就结束了,感谢您的支持!后面我们会有一个展示页,如果你看完本课程,做了觉得还不错,欢迎在下面评论我们会收录到学员展示贴。