prince/swoole-think-orm
Composer 安装命令:
composer require prince/swoole-think-orm
包简介
ÊÊÓ¦swooleг̻·¾³ÔËÐеÄthink-orm
README 文档
README
适应swoole协程环境运行的think-orm
为什么有这个项目:
1、swoole环境操作数据库,手动写连接数据库的语句非常不方便,需要有orm提高效率
2、swoole常驻进程环境,协程环境和fpm运行环境极大不同,现有fpm环境下的orm在常驻进程环境会有各种问题。
3、已有的swoole环境下的orm都是新造的轮子,需要去学习orm用法。兼容think-orm,用法完全相同,无需学习新的用法,另外可以少量修改或不修改迁移使用think-orm的部分逻辑。
4、已实现无感数据库连接池,无感知获取连接,回收连接。
5、可以作为组件,composer引入单独使用,自带连接池功能,简单方便。
测试环境:
建议使用docker环境,需要安装docker,docker-compose
项目内有docker-compose.yml
运行docker-compose up -d
然后进入容器docker exec -it swoole bash
安装:
composer require prince/swoole-think-orm
使用:和think-php orm使用一致,详见文档
Db类用法:
\think\facade\Db::connect($config) \think\facade\Db::table('user')->find();
其它操作参考TP5.1的完全开发手册数据库章节
特性:
1、支持swoole协程环境。
2、惰性连接池,直到查询时才会创建连接池,可以在配置中设置维持连接数。
3、支持根据配置创建多个连接池,支持关闭连接池。
4、连接池支持事务处理,事务结束前不会更换连接。
5、支持orm游标查询,处理大量数据。
6、“无感”连接池,连接池使用无感知,自动获取连接,自动回收连接,无需手动处理。
7、兼容think-orm 2.0使用,无需学习新的orm用法,无任何心智负担。
注意:
1、不建议使用模型、事件回调,暂未对相关功能协程化处理。
2、log,查询次数等数据暂不可用。
3、暂时不支持execute($sql)
prince/swoole-think-orm 适用场景与选型建议
prince/swoole-think-orm 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 119 次下载、GitHub Stars 达 13, 最近一次更新时间为 2019 年 04 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「database」 「orm」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 prince/swoole-think-orm 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 prince/swoole-think-orm 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 prince/swoole-think-orm 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dibi is Database Abstraction Library for PHP
Kinikit - PHP Application development framework MVC component
Store your language lines in the database, yaml or other sources
PHP Database ORM for Symfony1. Do NOT use for new projects: please move to a newest Symfony release and Doctrine2
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
A PSR-7 compatible library for making CRUD API endpoints
统计信息
- 总下载量: 119
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 13
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2019-04-04