1. 序言

作为一名现代 PHP 开发者,对 PHP 扩展包肯定不陌生。自从 GitHub 的诞生,开发者之间共享代码的方式发生了颠覆性的变化。

在没有 GitHub 之前,我们通常只能是从网站或者其它渠道复制或下载代码包或者代码段,然后放到自己的项目中,这种落后的代码共享方式的缺点显而易见:没有版本控制、无法快速获取更新、不安全等。

现代化的 PHP 开发离不开 Composer、它的诞生也离不开 GitHub,基于它,我们可以非常方便的管理项目的依赖,有效的进行依赖的版本控制以用版本更新。

现有的诸多优秀的开源项目大都是基于其它开源项目的,很少有独立开发的,正所谓站在巨人的肩膀上,才能看得更高。比如我们最熟悉的 Laravel,它就是一个非常典型的基于很多优秀第三方扩展包的模块化开发框架,它的很多核心功能都是基于另外一系列 Symfony 组件 之上构建的。

我们日常开发中经常要与非常多优秀的扩展包打交道,比如图片处理包 intervention/image、单元测试框架 PHPUnit、还有非常强大的日期处理类 Carbon、日志处理 Monolog 等等太多太多。每天享受着这些优秀开发者带来的便利,我们是不是也应该贡献出自己的一份力量,为开源世界做点奉献呢?是时候动手把你的优秀创意分享给大家了!

本书的目标就是教你如何一步步构建一个优秀的 PHP 扩展包,从编码到测试,发布上线等全流程教学,带你入门 PHP 扩展包开发。

学习建议

PHP 扩展包属于 PHP 开发的进阶内容,它需要一定的知识积累,如果你刚接触编程不久,那么你可能需要花非常多的时间去理解其中的一些原理性或者设计模式上的知识点。

整个过程中可能我们主要花的时间是在工具的使用以及设计模式的应用选择上,所以希望你在开始之前预习一下 Composer 的使用,以及 PHP 常见设计模式。设计模式部分可能刚开始看的时候会比较枯燥,不过在后面我们会以实例场景的形式让你深入理解它的设计初衷,更深刻的去理解它的精妙之处。

目标用户

阅读本书需要一定的开发经验,能够熟练运用 PHP 语法及常用函数,了解 Git 的使用,以及 GitHub 开源社区有一定的使用经验,对 Composer 有基本的认识。

基础较薄弱的同学,推荐从这个课程开始 《L01 Laravel 教程 - Web 开发实战入门 》

对扩展包使用不是很熟悉的同学,推荐学习此课程 —— 《Laravel / PHP 扩展包视频教程》

本书特色

我们会从需求到实现,从设计到实践,一步步深入去构建我们的 PHP 扩展包。我们首先会对常见的扩展包做一些基本的解析,常见的扩展包类型及使用场景,再到后面的编码过程。整个过程中都会贯穿设计模式的运用,我们不会花太多时间去介绍 PHP 语法以及基本函数的知识,重点会把时间花在扩展的设计与实现上,期间我们会在整个开发过程中使用单元测试来保证我们的项目质量。所以会介绍单元测试基本使用。

我们会从 PHP 通用扩展包开始实践,然后跨度到 Laravel 扩展的封装上来,让你熟练掌握扩展包开发的每一个细节。

关于作者

overtrue

overtrue 是微信开发者社区 一刻 的创始人,也是国内最大的 Laravel 开发者社区 Laravel China 社区 创始人之一。Laravel 的早期使用者,国内 Laravel 布道者,从 Laravel 4 开始使用至今,为 Laravel 编写过大量的功能扩展。

overtrue 是一名开源爱好者,致力于将自己优秀的创意回馈给社区,拥有 8 年 PHP 开发经验,曾就职于手机微博,负责手机微博 API 的重构设计工作,曾参与开发微博运动等项目。开发过几十个优秀的 PHP 扩展包,比如中文转拼音组件 Pinyin、多平台短信发送组件 EasySMS、PHP 语法检查组件 PHPLint、以及国内社交平台 OAuth 登录组件 Socialite 等等,拥有 40 万安装量的微信开发 SDK EasyWeChat 也是他的作品之一,目前就职于腾讯。

社交账号信息:

Summer

Summer 在本课程中担任监制和审阅角色。

Summer 是国内最大的 PHP & Laravel 开发者社区 Laravel China 社区 的创始人。Laravel 的早期使用者,从 Laravel 3 版本就开始关注 Laravel。

Summer 是连续创业者,曾担任过多家创业公司的技术合伙人,技术涉猎较广,开发经验包括 PHP、iOS、安卓、ROR 等,有多年架构师经验。现居住在深圳。

以下是 Summer 的社交账号信息:

课程源码

源码托管在 GitHub 上:github.com/overtrue/weather

版权声明

本书《Laravel 教程 - 扩展包实战》版权归作者 overtrue 和 Summer 所有。

本书受版权法保护,任何组织或个人不得以任何形式分发或做商业使用。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~