定制 rayswoole/think-orm 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rayswoole/think-orm

Composer 安装命令:

composer require rayswoole/think-orm

包简介

think-orm协程化版本, 仅在swoole协程环境使用

README 文档

README

fork in ThinkORM

基于PHP7.1+ 和PDO实现的ORM,支持多数据库,2.0版本主要特性包括:

  • 基于PDO和PHP强类型实现
  • 支持原生查询和查询构造器
  • 自动参数绑定和预查询
  • 简洁易用的查询功能
  • 强大灵活的模型用法
  • 支持预载入关联查询和延迟关联查询
  • 支持多数据库及动态切换
  • 支持MongoDb
  • 支持分布式及事务
  • 支持断点重连
  • 支持JSON查询
  • 支持数据库日志
  • 支持PSR-16缓存及PSR-3日志规范

安装

composer require rayswoole/think-orm

文档

连接池配置

可以在onStart直接配置
每个worker进程都会生成同等配置的进程池, 请根据worker数量动态调整
//初始化连接配置
$dbConfig = new \rayswoole\orm\pool\DbPoolConfig();
//设置最小连接数
$dbConfig->withMin(5);
//设置最大连接数
$dbConfig->withMax(20);
//设置定时器执行频率(毫秒),创建最小进程、回收空闲进程
$dbConfig->withIntervalTime(15*1000)
//设置连接可空闲时间
$dbConfig->withIdleTime(10)
//获取连接池对象超时时间, 如果连接池占满在指定时间无法释放新的连接, 将输出Exception, 需要自行捕获
$dbConfig->withTimeout(3.0)

//数据库配置, 参考https://www.kancloud.cn/manual/think-orm/1257999
$dbConfig->withExtraConf('数据库数组结构')

//初始化连接池
\rayswoole\orm\facade\Db::init($dbConfig);

//可设置项
//设置log日志,必须继承Psr\Log\LoggerInterface接口(orm自带)
Db::setLog($Logger);
//设置缓存,用于ORM连贯操作`$Db->cache()`,必须继承Psr\SimpleCache\CacheInterface接口
Db::setCache($Cache);

使用

use rayswoole\orm\facade
// table方法必须指定完整的数据表名
Db::table('think_user')->where('id', 1)->find();
// 如果设置了数据表前缀(prefix)参数的话 也可以使用
Db::name('user')->where('id', 1)->find();

//注意: 非协程环境使用必须主动释放连接(协程环境内会自动释放)
Db::close();

// 模型写法
use rayswoole\orm
class userModel extends Model{
    protected $name = 'test'; //指定数据库,不指定会自动设置为test_model
}
$model = new userModel();
$model->where('id', 1)->find();

具体语法详细参考 ThinkORM开发指南

rayswoole/think-orm 适用场景与选型建议

rayswoole/think-orm 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 160 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 08 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「database」 「orm」 「coroutine」 「swoole」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 rayswoole/think-orm 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 rayswoole/think-orm 我们能提供哪些服务?
定制开发 / 二次开发

基于 rayswoole/think-orm 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 160
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 187
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2020-08-11