介绍

简介

PHPEGG是一个轻量但功能丰富的PHP框架,支持Standard Rest Micro Inline Jsonrpc Grpc等应用模式,包含配置 类加载 事件 容器 路由 日志 错误处理等核心功能,并集成了数据库 缓存 存储 RPC 邮件 短信等多种功能驱动,而且框架耦合度低,模块之间依赖低,框架初始化只加载少量核心PHP文件,用户完全可以根据自己的需求定制一个灵活 高性能 并且功能丰富的应用框架。

应用模式

另外为了实现不同模式应用之间的相互调用,框架在rpc驱动中实现了一套rpc client来远程调用服务。

核心功能

HTTP层

功能驱动

驱动 描述
Mysqli 基于php mysqli扩展,支持一些特有的mysql方法
Mysql 基于php pdo_mysql扩展
Pgsql 基于php pdo_pgsql扩展(粗略测试)
Sqlite 基于php pdo_sqlite扩展(粗略测试)
Sqlsrv 在win系统下使用pdo_sqlsrv扩展,类unix系统下使用pdo_odbc扩展(无环境,未测试)
Oracle 基于php pdo_oci扩展(无环境,未测试)
Cluster 基于Mysqli,支持设置多个数据库服务器,实现读写分离主从分离,原理是根据SQL的SELECT INSERT等语句将请求分配到不同的服务器。(无环境,未测试)
驱动 描述
Apc 基于php apcu扩展的单机共享内存缓存
Db 使用关系数据库缓存数据
File 使用文件保存缓存数据
Memcached 使用Memcached服务缓存数据
Opcache 将缓存数据写入php文件,使用php Opcache来缓存数据
Redis 使用Redis服务缓存数据
驱动 描述
Local 本地文件处理简单适配封装
Ftp 基于ftp协议,需要php ftp扩展
Sftp 基于ssh协议,需要php ssh2扩展
S3 亚马逊s3服务
Oss 阿里云oss服务
Qiniu 七牛云存储
Webdav 基于Webdav协议,兼容多种网盘,如Box OneDrive Pcloud 坚果云
驱动 描述
WebConsole 日志发送到浏览器控制台,支持Firefox,Chrome(需安装chromelogger插件)
Email 日志发送到邮件
File 日志写入文件
Queue 日志发送到队列(坑)
驱动 描述
Jsonrpc Jsonrpc协议rpc客户端
Http rpc调用风格的httpClient封装
Rest rpc调用风格的Rest httpClient封装
Thrift Thrift rpc客户端
Grpc Grpc rpc客户端
驱动 描述
Smtp 基于Smtp协议发送邮件
Sendmail 使用php mail函数发送邮件(服务器需已装postfix等邮件服务器并已开放相应端口)
Mailgun 使用Mailgun提供的邮件发送服务
Sendcloud 使用Sendcloud提供的邮件发送服务
驱动 描述
Alidayu 阿里大于短信服务
Aliyun 阿里云短信服务(暂无企业账户,未测试)
Baidu 百度云短信服务(暂无企业账户,未测试)
Qcloud 腾讯云短信服务
Yuntongxun 容联云通讯短信服务
驱动 描述
Image 使用gregwar/captcha包
Recaptcha google recaptcha
Geetest 极验验证
驱动 描述
Baidu Baidu地图IP定位接口,优点几乎不限请求,缺点无法定位国外ip
Ipip Ipip IP定位,有在线api接口和离线数据库两种使用方式
Maxmind Maxmind IP定位,有在线api接口和离线数据库两种使用方式
驱动 描述
Openssl 基于php openssl扩展
Sodium 基于php libsodium扩展
驱动 描述
Elastic 基于Elastic rest接口 (待完善)
驱动 描述
Cassandra 使用datastax扩展(坑)
Mongo 使用MongoDB扩展(待完善)
Hbase 使用Thrift Rpc客户端(坑)
驱动 描述
Redis 使用redis list类型实现简单队列(坑)
Amqp 基于Amqp协议RabbitMQ服务(坑)
Beanstalkd pda/pheanstalk包(坑)
Kafka php-rdkafka扩展(坑)