PHP 扩展包实战教程 - 从入门到发布
1. 序言 2. 开发环境 3. 写作约定 4. 什么是 PHP 扩展包? 5. Composer 基础使用 6. 拓展包的基础结构 7. 需求分析与功能设计 - 天气 SDK 8. 准备工作 - 创建开放平台应用 9. 创建项目并安装依赖包 10. 从接口获取天气数据 11. 异常与错误处理 12. 编写单元测试 13. 测试我们的拓展包 14. 为 Laravel 集成优化 15. 编写友好的说明文档 16. 发布上线 17. 发布第一个版本 18. 代码重构实践 19. 使用 Travis-CI 做自动化测试 20. 使用 StyleCI 自动修复代码格式 21. 扩展包案例赏析 - EasySMS 22. 课程总结 23. 扩展开发推荐阅读清单 24. 作品分享和学习感悟
Menu

课程总结

我们学到了什么?

整个课程篇幅并不大,所以我们尽可能精简选择关键点进行讲解,我们在整个课程中主要讲了以下知识点:

  • PHP 扩展包与 PHP 扩展的区别;
  • 常见的 PHP 扩展包类型介绍,以及常用的优秀扩展包推荐;
  • Composer 的基础使用;
  • 扩展包的基础结构设计;
  • 需求分析和开发思路;
  • 业务逻辑的编写;
  • 扩展包里合理的异常处理方式;
  • 使用 PHPUnit 单元做测试;
  • Travis-CI 做自动化测试;
  • StyleCI 自动修复代码格式;
  • 为 Laravel 扩展包优化;
  • 发布到 GitHub 与 Packagist 包的流程;
  • 分析了一个稍微复杂的案例 —— EasySMS 。

其实这里面还包含了很多可以扩展的地方,比如 PHPUnit 的配置与使用、使用 Mockery 构建模拟对象、使用 PHP-CS-fixer 来格式化代码等,但是篇幅以及结构设计,我们主要讲了以上的部分,扩展部分还需要你自己去细心扩展学习一下。

技巧分享

可能大部分同学最难的地方并不是课程中流程化的部分,而是如何设计一个类,如何设计方法。这其实是大部分刚入门没多久的同学都会有同样的难处,不过没有关系,当你的代码量达到 10 万行以上的时候,这些问题自然就没了。

但是在你没有这些经验之前,我可以给你分享一些技巧:

  • 一个类只干自己相关的事情,比如通知类不要去关心 SMTP 如何构造。
  • 一个方法只干一件事儿,如何定义呢?当你给方法起名的时候纠结了,那你的方法设计得就有问题了,getUserByIdgetUsers 这些肯定就是只干了一件事儿。
  • 命名要见名知义,动名词格式命名。少用 infodata 这类无意义词,比如 getUserInfo 完全可以叫 getUsergetOrdersDatagetOrdersList 也完全可以写为 getOrders
  • 一个方法尽量不要超过 30 行
  • 认真阅读优秀开源项目的文档,学习其文档结构,认真写自己的文档
  • 观看 《Laravel / PHP 扩展包视频教程》 ,借鉴优秀扩展包的书写方式;
  • 社区的 Laravel 扩展排行榜 也是一个不错的扩展发现渠道;
  • 多读源码,当你使用一个扩展包时,尝试阅读其源码,理解其设计思路;
  • 多分享,分享自己编写的扩展包,将每一次扩展包的学习心得写下来。

下次再见!

课程到这里就结束了,感谢您的支持!后面我们会有一个展示页,如果你看完本课程,做了觉得还不错,欢迎在下面评论我们会收录到学员展示贴。

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 1
发起讨论 只看当前版本


Achais
看来是超哥手滑?
0 个点赞 | 1 个回复 | 问答
刻意练习,每日精进。
12
点赞
1952
浏览
1
讨论
贡献者

作者