承接 easyswoole/orm 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

easyswoole/orm

Composer 安装命令:

composer require easyswoole/orm

包简介

php stander lib

README 文档

README

Easyswoole-ORM

项目背景

由于swoole协程环境不可以直接使用php-fpm的orm组件(由于存在静态全局变量、连接层没有做好协程处理,无法协程安全地使用)

所以easyswoole花费大量时间精力维护orm组件,连贯操作等功能设计借鉴TP5.0的ORM组件。

有疑问、功能建议、bug反馈请在QQ群、github issue、直接联系宣言提交。

问题反馈模板

一个完整的提问需要包含以下几点:

  • 1.出现了问题,怀疑orm组件的bug,需要先行编写最小测试。(比如一个新的类,单独只调用一个功能,都出问题了,排除其他因素影响)
  • 2.用文字描述出现的问题,附带运行和调试的参数截图
  • 3.附带第一步最小测试复现脚本

安装

composer require easyswoole/orm

RFC

1、Model Invoke

Model::invoke()->where(col,val)->get()
Model::invoke(function(Model $m){
    $m->where(col,val)
})->get()

2、Model Where

$model = Model::create()

//$op => = , > , < , != , in , between
$model->where(col1,val1,$op)->get()
$model->where(col1,100,">")->get()
$model->where(col1,100,"<")->get()
$model->where(col1,100,"=")->get()
$model->where(col1,[1,100],"in")->get()
$model->where(col1,[1,100],"between")->get()

$model->where(col1,val1)->where(col2,val2)->get()
=> select * from where col1 = val1 and col2 = val2 limit 1


// 数组形式传参 仅支持此种格式数组
$array1 = [
    ['user', 'easyswoole', '='],
    ['age', '18', '!='],
];
$array1 = [
    ['creaet_time', '2021-12-29 14:47:32', '='],
];
$model->where($array1)->where($array2)->get()


// TODO 兼容 原生sql

官网文档

http://www.easyswoole.com/Cn/Components/Orm/changeLog.html

单元测试

 ./vendor/bin/co-phpunit tests

推荐使用mysql著名的employees样例库进行测试和学习mysql: https://github.com/datacharmer/test_db

主要项目负责人

参与贡献方式

  • 有实际生产使用的,提出升级迭代建议
  • 使用过程中遇到问题,并且查看文档,基本排除个人原因导致的问题,怀疑bug,及时反馈
  • 参与orm组件的代码维护、功能升级
  • 参与orm组件的文档维护(也就是加入easyswoole文档维护团队)

开源协议

Apache-2.0

功能介绍

  • 基于easyswoole/mysqli组件,承当构造层职责。
  • 基于easyswoole/pool组件,承当基础连接池。
  • 支持执行自定义sql语句、构造器查询。
  • 支持事务,DbManager连接管理器也可承当事务管理器的职责。
  • 支持关联查询。
  • 支持多数据库配置,读写分离。
  • 便捷的连贯操作、聚合操作。

设计层级

设计层级

easyswoole/orm 适用场景与选型建议

easyswoole/orm 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 90.69k 次下载、GitHub Stars 达 30, 最近一次更新时间为 2019 年 10 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 90.69k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 32
  • 点击次数: 23
  • 依赖项目数: 26
  • 推荐数: 0

GitHub 信息

  • Stars: 30
  • Watchers: 4
  • Forks: 28
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2019-10-10