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 中的

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

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
发起讨论 只看当前版本


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

作者