3.1 PhalApi 2.x 扩展类库

2018-07-28 21:24 更新

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视图扩展 提供视图渲染功能。
Wechat 微信开发扩展 可用于微信的服务号、订阅号、设备号等功能开发。
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文件,对扩展类库的功能、安装和配置、使用示例以及运行效果进行说明;

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

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

+

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号