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 扩展包?

file

什么是 PHP 扩展包?

我们用于项目增强有两种方式:

PHP 原生扩展

PHP 原生扩展(PHP Native Extension),我们通常指基于 C/C++ 语言开发的对 PHP 语言的扩展,需要编译安装,比如我们最常使用的 phpredis、GD、MySQL、cURL 扩展等,这里有一个PHP 的扩展列表

PHP 扩展包

PHP 扩展包(PHP Package)或者 PHP 包,我们通常指用 PHP 代码编写的代码包。它通常是一些特定功能的封装,比如 Intervention/image,它是基于 PHP 图像处理库 GD/Imagick 实现的图像处理功能包,具有非常强大且优雅的图片处理 API,我们可以非常便捷的基于它完成常规的图片操作,简化开发工作。

本书要讨论的就是 PHP 扩展包的开发,而不是 PHP 扩展。

常见的扩展包类型

我们在日常开发中经常用到非常很多扩展包,大概总结一下分为几个大类:

API SDK

为特定的服务商 API 提供 SDK,提供更方便的调用,隐藏不必要的开发细节,比如 EasyWeChat 是对微信一系列 API 的封装,overtrue/flysystem-qiniu 是对七牛 CDN API 的封装以及 EasySMS 是封装了各大国内短信平台的 SDK 等。

业务模块

封装一些通用的业务模块,比如购物车、登录注册、权限控制等。比如:

管理工具

对一些业务工具或者项目内容提供 UI 或者命令行管理入口。比如:

生成器

针对重复的内容提供基于模板或者项目脚手架的生成工具。比如:

系统模块封装

时间、图像处理、PDF 生成、文字提取等。比如:

  • PHPOffice —— Word、Excel 等 Office 产品的 PHP 阅读和编辑工具
  • Snappy —— HTML 页面生成 PDF,基于 Webkit 渲染引擎
  • DOMPdf —— HTML 页面生成 PDF,基于一些常见 PHP 原生扩展实现
  • Glide —— 高品质的图像处理扩展包

设计模式实践

通过一些巧妙的封装,实现设计模式在应用中的实践。比如 Laravel 中的

当然还有 一些其它的扩展包,不过我们常见的主要归类为以上几种,熟读一下这些优秀扩展的代码,你将获益匪浅。

本文章首发在 Laravel China 社区
上一篇 下一篇
讨论数量: 0
发起讨论



暂无话题~
刻意练习,每日精进。
20
点赞
2659
浏览
0
讨论

作者