-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
新增yaf_db模块 #428
base: master
Are you sure you want to change the base?
新增yaf_db模块 #428
Conversation
MySQL数据ORM框架,支持代理方式建立稳定数据库连接池, 使用文档可参考: https://github.com/caohao-php/ycdatabase
Catalogue Instruction 1、快速 - yaf_db是一个为PHP扩展写的纯C语言写的mysql数据库ORM扩展,众所周知,数据库ORM是一个非常耗时的操作,尤其对于解释性语言如PHP,而且对于一个项目来说,ORM大多数情况能占到项目很大的一个比例,所以这里我将MySQL的ORM操作用C语言实现,利用C语言的性能,提升ORM的性能。 |
YAF_DB document
补充了 markdown 文档 |
能做一些测试用例么, 代码变动有点多, 之前没注意到, 我好好看下。 thanks |
关于反对合并这个 PR 的主要原因
为什么使用 YAFPHP 的框架很多,流行常见的,大多数人都用过或了解过。这些框架提供的便捷性使得建立业务原型非常快。 什么是 ORM看完了 README 说明文档,基本上是一系列的工具函数,与 ORM 没有任何关系。参数绑定的语法,既不 MySQL-Native,也不 PHP-Native。ORM 起码要有 对象映射、关系映射。而不仅仅是数据库连接,不仅仅是简单的 CRUD。这里作者对 ORM 有误解。 增加了 YAF 的 Footprint文档里列出了6个特点。 1-5 没有必要说,因为安全,注入,参数绑定,这些是最基本的。单纯说快速,PHP 连接到 MySQL 性能并没有任何问题。
以上说明,来自一个使用 YAF 的团队客观评论。不带有任何偏见。请 YAF 作者 @laruence 考虑。 |
我觉得做什么事情是都是为了提升开发效率和性能,你因为YAF简洁,而拒绝接受ORM,然后全方位的去抨击这个东西,本身就是带有很主观性的一个事情,你可以说他不是ORM,但是不可否认,在我的工作中,他比起原生的SQL来说提升的开发效率是非常高的,而且性能方面也肯定比PHP版本的ORM要高不少,而且我认为他不是一个简单的CRUD,即便是简单的 CRUD,我觉得开发过程95%的时间都是写简单的CRUD,复杂的SQL一般都很少去用到 ORM,为什么不去封装下?一定要每个人去写原生的SQL,不知道你有没有认真看整个功能,我上面提供了非常丰富的特性,这花费了我大量精力,你可以说他不适合YAF,但是你去否定这个产品......,另外为什么一定要做对象映射,我这个全部都是以数组的形式输入输出,我觉得反而会更加灵活,如果你需要转化成对象,可以自己封装一层即可。 |
谢谢作者的回复。我想澄清一下,我没有评价这个 DB 扩展本身的好坏,更没有贬低它的意思。主要想表达的是,既然已经是以扩展形式存在,为什么硬要集成到框架中去。让开发者根据需要,选择性的去安装使用它,不是更好吗? |
既然这样,那我就贴个扩展的地址吧: https://github.com/caohao-php/ycdatabase 谢谢各位。 |
最后希望作者不要误会。我尊重你的劳动成果,我们的 PHP 项目也没有使用 ORM。接下来我会建议 PHP 同事去试用这个扩展,研究它所提升的方面。再次谢谢作者。 |
a93b6c0
to
9a673c6
Compare
方法比较简洁,不过要是可以支持链式写法就更舒适了,😘毕竟堆积的参数有些其实没必要,还容易错位 $db->table('xx')->columns(['p.*', "b.xxx"]) |
5cfc5ca
to
fe37f30
Compare
支持增加orm,降低入门门槛,提高易用性,大部分人还是要集成orm |
嗯,你那种方式确实比较好,不过在c语言实现起来会相对有些复杂,所以我这边采用的相对简单一点的方式! |
什么时候能合并?连接池,php真的很需要 |
MySQL数据ORM框架,支持代理方式建立稳定数据库连接池, 使用文档可参考: https://github.com/caohao-php/ycdatabase , 仅支持 PHP7