×
PhalApi 2.x 前言

PhalApi 2.x 快速开发

1.1 下载与安装1.2 运行Hello World1.3 如何请求接口服务1.4 接口响应与在线调试1.5 Api接口层1.6 Domain领域层和ADM模式1.7 Model数据层与数据库操作1.8 单元测试1.9 自动加载和PSR-41.10 接口文档

PhalApi 2.x 数据库

2.1 数据库链接2.2 数据库与NotORM2.3 数据库使用和查询2.4 数据库分库分表策略2.5 连接多个数据库2.6 打印和保存SQL语句2.7 定制你的Model基类

PhalApi 2.x 高级专题

3.1 PhalApi 2.x 接口参数3.2 PhalApi 2.x 配置3.3 PhalApi 2.x 日志3.4 PhalApi 2.x 缓存3.5 PhalApi 2.x 过滤器3.6 PhalApi 2.x COOKIE3.7 PhalApi 2.x 加密3.8 PhalApi 2.x 国际化3.9 PhalApi 2.x CURL请求3.10 PhalApi 2.x 工具和杂项3.11 PhalApi 2.x DI服务汇总

PhalApi 2.x 发现更多

4.1 PhalApi 2.x 扩展类库4.2 PhalApi 2.x SDK包的使用4.3 PhalApi 2.x 脚本命令

关于PhalApi 2.x

5.1 PhalApi 2.x 版本完美诠释5.2 PhalApi 2.x 升级指南5.3 PhalApi 2.x VS PhalApi 1.x

4.1 PhalApi 2.x 扩展类库


扩展类库简介

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

此部分类库为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容器PhalApiDI()中,需要在./config/di.php文件中配置。注册的服务名称通常为扩展类库的小写名称。

注册好后,便可以在项目需要的位置进行调用了。

使用

不同的扩展类库,其提供的功能不同,所以具体的使用也不尽相同。当使用到某个扩展类库时,可以参考对应的文档说明。有的扩展可能需要调用其内部接口才能实现对应的功能,有些扩展可能提供了直接可用的接口服务。

扩展类库开发指南

为了统一扩展类库的风格、便于用户更容易使用,这里建议:

  • 代码:遵循composer和psr-4的风格,并尽量Lite.php为入口类,一个扩展,一个Git项目,源代码可放置在自己的Git仓库;
  • composer:建议统一注册在phalapi下,可联系dogstar;
  • 配置:统一放置在PhalApiDI()->config->get('app.扩展包名')中,避免配置冲突;
  • 文档:统一提供README.md文件,对扩展类库的功能、安装和配置、使用示例以及运行效果进行说明;

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

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

+


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)