3.1 PhalApi 2.x 扩展类库
PhalApi框架扩展类库
扩展类库简介
致力于与开源项目一起提供企业级的解决方案!
此部分类库为PhalApi框架下可重用的扩展类库,各个扩展相自独立,可以根据需要自动安装使用。
此扩展类库可以是基于已有的第三方开源类库的二次开发和集成,也可以是自主研发的组件、工具、模块。通过使用可重用的扩展类库,可大大减少开发成本,并且慢慢地会发现,原来编程本来就是一件如此简单的事情,就像搭积木一样。
正如我们一直提倡的:接口,从简单开始!
扩展类库列表
扩展类库composer名称 | 扩展类库名称 | 简要说明 |
---|---|---|
APK | APK文件解包处理 | 对APK进行解包,支持绝大部分APK文件处理。 |
Auth | Auth权限扩展 | 实现了基于用户与组的权限认证功能,与RBAC权限认证类似,主要用于对服务级别的功能进行权限控制。 |
phalapi/cli | CLI扩展类库 | 可用于开发命令行应用,基于GetOpt,主要作用是将命令参数进行解析和处理。 |
Cluster | 基于PhalApi的DB集群拓展 | 为了解决大量数据写入分析的问题,支持大量select、和大量insert。 |
CryptTraffic | 移动设备通信加密 | 用于移动设备通信加密。 |
Excel | PhalApi-Excel | 读取Excel。 |
Facepp | face++接口 | face++接口。 |
phalapi/fast-route | FastRoute快速路由 | 基于FastRoute实现,通过配置实现自定义路由配置,从而轻松映射service接口服务。 |
Image | PhalApi-Image图像处理 | 按照尺寸压缩上传图片,参考自ThinkPhP图形处理。 |
KafKa | 简单舒适的PHP-KafKa拓展 | 基于rdKafKa封装的一个简单舒适KafKa拓展。 |
Log4php | 基于log4php的日志扩展 | 兼容PhalApi日志的接口操作,同时基于log4php完成更多出色的日志工作。 |
Medoo | Medoo数据库驱动 | Medoo数据库驱动。 |
OSS | PhalApi-OSS阿里云OSS包 | 对阿里云的OSS文件服务器的封装。 |
PHPExcel | PhalApi-PHPExcel扩展 | 提供了更为强大的Excel处理功能。 |
PHPMailer | 基于PHPMailer的邮件发送 | 用于发送邮件。 |
PHPRPC | 代理模式下phprpc协议的轻松支持 | 可用于phprpc协议的调用,服务端只需要简单添加入口即可完美切换。 |
Pay | 基于PhalApi的第三方支付扩展 | 支持微信支付和支付宝支付。 |
Payment | 微信支付及支付宝支付扩展 | 支持微信支付和支付宝支付。 |
Qiniu | 七牛云存储接口调用 | 可用于将图片上传到七牛云存储,或者七牛SDK包提供的其他功能。 |
RabbitMQ | PhalApi-RabbitMQ队列拓展 | 基于队列标杆中的RabbitMQ的队列扩展。 |
Redis | 基于PhalApi的Redis拓展 | 提供更丰富的Redis操作,并且进行了分库处理可以自由搭配。 |
SMS | PhalApi-SMS容联云短信服务器扩展 | 基于容联云通讯,发送短信。 |
Smarty | 基于PhalApi的Smarty扩展 | 基于老牌的PHP模版引擎Smarty,提供视图渲染功能。 |
SOAP | SOAP扩展 | 使用PHP官方提供的SOAP协议,用于搭建Web Services。 |
Swoole | Swoole扩展 | 基于swoole,支持的长链接和异步任务实现。 |
phalapi/task | 计划任务扩展 | 用于后台计划任务的调度。 |
ThirdLogin | 第三方登录扩展 | 第三方登录。 |
Translate | PhalApi-Translate百度地图翻译扩展 | 基于百度翻译的翻译。 |
UCloud | 图片上传扩展 | 用于图片文件上传。 |
User | User用户扩展 | 提供用户、会话和集成第三方登录。 |
View | Vuew视图扩展 | 提供视图渲染功能。 |
微信开发扩展 | 可用于微信的服务号、订阅号、设备号等功能开发。 | |
Xhprof | 性能分析工具PhalApi-Xhprof | 对Facebook开源的轻量级PHP性能分析工具进行了封装拓展。 |
YoukuClient | 优酷开放平台接口扩展 | 用于调用优酷开放平台的接口。 |
Zip | PhalApi-Zip压缩文件处理 | 用于处理文件压缩。 |
温馨提示:未有composer链接的,表示尚未从1.x迁移到2.x版本,可在原来的Phalapi-Library扩展类库项目中查阅。
扩展类库的使用
对于某个扩展类库,当需要使用时,可以按“安装、配置、使用”三步曲进行。
安装
扩展类库的安装很简单,在PhalApi 2.x版本下,直接通过在composer.json文件中配置需要依赖的扩展类库即可。
例如,项目本身自带的Task扩展类库:
{
"require": {
"phalapi/task": "2.0.*"
}
}
配置好后,执行composer update
更新操作即可。
至此,便完成了扩展类库的安装,相当简单。
配置注册
根据不同的扩展类库,其配置和注册的情况不同,有些不需要配置也不需要注册,有些需要配置、注册中的一种,有些可能配置、注册都需要。
何为配置?
这里说的配置是指在项目配置文件./config/app.php内添加对应扩展类库的配置,配置选项的路径通常为:app.扩展类库名称
。此外,有的扩展类库可能还需要配置数据库配置文件./config/dbs.php。
何为注册?
而注册则是指将对应的扩展类库注册到DI容器\PhalApi\DI()
中,需要在./config/di.php文件中配置。注册的服务名称通常为扩展类库的小写名称。
注册好后,便可以在项目需要的位置进行调用了。
使用
不同的扩展类库,其提供的功能不同,所以具体的使用也不尽相同。当使用到某个扩展类库时,可以参考对应的文档说明。有的扩展可能需要调用其内部接口才能实现对应的功能,有些扩展可能提供了直接可用的接口服务。
扩展类库开发指南
为了统一扩展类库的风格、便于用户更容易使用,这里建议:
- 代码:遵循composer和psr-4的风格,并尽量Lite.php为入口类,一个扩展,一个Git项目,源代码可放置在自己的Git仓库;
- composer:建议统一注册在phalapi下,可联系dogstar;
- 配置:统一放置在
\PhalApi\DI()->config->get('app.扩展包名')
中,避免配置冲突; - 文档:统一提供README.md文件,对扩展类库的功能、安装和配置、使用示例以及运行效果进行说明;
从微架构到扩展类库的演进
在应用项目的实际开发,我们也可以有意识地将一些通用的工具和操作与业务分离,以便可以在项目内更好地重用。当抽离成工具或者通用类后,则可以进一步推广到公司内其他项目,即组件复用。如果觉得可以,则发扬开源精神,分享给社区。这也是符合从微架构到应用构架、系统架构、乃至企业架构的演进之路。
+
更多建议: