PhalApi框架扩展类库

扩展类库简介

致力于与开源项目一起提供企业级的解决方案!

此部分类库为PhalApi框架下可重用的扩展类库,各个扩展相自独立,可以根据需要自动安装使用。

此扩展类库可以是基于已有的第三方开源类库的二次开发和集成,也可以是自主研发的组件、工具、模块。通过使用可重用的扩展类库,可大大减少开发成本,并且慢慢地会发现,原来编程本来就是一件如此简单的事情,就像搭积木一样。

正如我们一直提倡的:接口,从简单开始!

扩展类库列表

扩展类库composer名称 扩展类库名称 简要说明
phalapi/apk APK文件解包处理 对APK进行解包,支持绝大部分APK文件处理。
phalapi/auth Auth权限扩展 实现了基于用户与组的权限认证功能,与RBAC权限认证类似,主要用于对服务级别的功能进行权限控制。 by twodayw
phalapi/cli CLI扩展类库 可用于开发命令行应用,基于GetOpt,主要作用是将命令参数进行解析和处理。
Cluster 基于PhalApi的DB集群拓展 为了解决大量数据写入分析的问题,支持大量select、和大量insert。
CryptTraffic 移动设备通信加密 用于移动设备通信加密。
Excel PhalApi-Excel 读取Excel。
Facepp face++接口 face++接口。
phalapi/fast-route FastRoute快速路由 基于FastRoute实现,通过配置实现自定义路由配置,从而轻松映射service接口服务。
phalapi-image PhalApi-Image图像处理 按照尺寸压缩上传图片,参考自ThinkPhP图形处理。by 吞吞小猴
KafKa 简单舒适的PHP-KafKa拓展 基于rdKafKa封装的一个简单舒适KafKa拓展。
Log4php 基于log4php的日志扩展 兼容PhalApi日志的接口操作,同时基于log4php完成更多出色的日志工作。
Medoo Medoo数据库驱动 Medoo数据库驱动。
OSS PhalApi-OSS阿里云OSS包 对阿里云的OSS文件服务器的封装。
PHPExcel PhalApi-PHPExcel扩展 提供了更为强大的Excel处理功能。
phalapi/PHPMailer 基于PHPMailer的邮件发送 用于发送邮件。
PHPRPC 代理模式下phprpc协议的轻松支持 可用于phprpc协议的调用,服务端只需要简单添加入口即可完美切换。
Pay 基于PhalApi的第三方支付扩展 支持微信支付和支付宝支付。
Payment 微信支付及支付宝支付扩展 支持微信支付和支付宝支付。
phalapi/qiniu 七牛云存储接口调用 可用于将图片上传到七牛云存储,或者七牛SDK包提供的其他功能。
RabbitMQ PhalApi-RabbitMQ队列拓展 基于队列标杆中的RabbitMQ的队列扩展。
phalapi/redis 基于PhalApi的Redis拓展 提供更丰富的Redis操作,并且进行了分库处理可以自由搭配。by 喵了个咪
phalapi-sms PhalApi-SMS容联云短信服务器扩展 基于容联云通讯,发送短信。
ctbsea/phalapi-smarty 基于PhalApi的Smarty扩展 基于老牌的PHP模版引擎Smarty,提供视图渲染功能。
chenall/phalapi-soap SOAP扩展 使用PHP官方提供的SOAP协议,用于搭建Web Services。by chenall
Swoole Swoole扩展 基于swoole,支持的长链接和异步任务实现。
phalapi/task 计划任务扩展 用于后台计划任务的调度。
ThirdLogin 第三方登录扩展 第三方登录。
Translate PhalApi-Translate百度翻译扩展 基于百度翻译的翻译。
UCloud 图片上传扩展 用于图片文件上传。
User User用户扩展 提供用户、会话和集成第三方登录。
steveak/view View视图扩展 提供视图渲染功能。by steve
Wechat 微信开发扩展 可用于微信的服务号、订阅号、设备号等功能开发。
Xhprof 性能分析工具PhalApi-Xhprof 对Facebook开源的轻量级PHP性能分析工具进行了封装拓展。
YoukuClient 优酷开放平台接口扩展 用于调用优酷开放平台的接口。
Zip PhalApi-Zip压缩文件处理 用于处理文件压缩。
phalapi/qrcode PhalApi 二维码扩展 二维码扩展,基于PHP QRCode实现。可用于生成二维码图片。
phalapi/pinyin PhalApi 2.x 拼音扩展 PhalApi 2.x 拼音扩展,基于overtrue/pinyin实现。
phalapi-gtcode 极验验证码扩展 极验验证码扩展,by 吞吞小猴
phalapi/jwt 基于PhalApi2的JWT拓展 JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。by twodayw
chenall/phalapi-weixin 微信扩展 微信公众号、企业号等开发扩展, 使用Eastwechat。 by chenall
phalapi/wechatmini 微信小程序扩展 PhalApi 2.x 微信小程序扩展 by JamesLiuquan
温馨提示:未有composer链接的,表示尚未从1.x迁移到2.x版本,可在原来的Phalapi-Library扩展类库项目中查阅。

扩展类库的使用

对于某个扩展类库,当需要使用时,可以按“安装、配置、使用”三步曲进行。

安装

扩展类库的安装很简单,在PhalApi 2.x版本下,直接通过在composer.json文件中配置需要依赖的扩展类库即可。

例如,项目本身自带的Task扩展类库:

  1. {
  2. "require": {
  3. "phalapi/task": "2.0.*"
  4. }
  5. }

配置好后,执行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文件,对扩展类库的功能、安装和配置、使用示例以及运行效果进行说明;

在composer下开发扩展类库的建议

  • 约定上依赖phalapi/kernal, 但扩展类库内不要配置依赖,以免框架升级导致扩展不兼容
  • 为简化起见,扩展类库默认统一使用master分支作为安装版本,免去多版本管理

从微架构到扩展类库的演进

在应用项目的实际开发,我们也可以有意识地将一些通用的工具和操作与业务分离,以便可以在项目内更好地重用。当抽离成工具或者通用类后,则可以进一步推广到公司内其他项目,即组件复用。如果觉得可以,则发扬开源精神,分享给社区。这也是符合从微架构到应用构架、系统架构、乃至企业架构的演进之路。

原文: http://docs.phalapi.net/#/v2.0/library