4. 什么是 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 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~