你对教义ORM有什么经验?[已关闭]

2022-08-30 14:21:26

你对教义有什么经验?我从来都不是ORM类型的人,我主要只用一些基本的数据库抽象层(如adodb)进行管理。

但我理解它的所有概念和好处。因此,当一个需要ORM的项目出现时,我想我会尝试一下ORM框架之一。

我必须在教义和推进之间做出决定,所以我选择教义,因为我不想处理phing要求。

我不知道我做错了什么。我以正确的心态进来。我绝不是一个“初级”php小子。但我一直在与系统作斗争。有很多文档,但感觉有点杂乱无章。像YAML到db表创建这样的简单东西是行不通的,甚至没有错误或任何东西。很多其他的东西有点时髦,只需要在工作之前进行额外的调整。

也许我在这里做了一些愚蠢的新手假设,一旦我发现它是什么,我就会有啊哈时刻。但现在我完全讨厌这个系统。

也许有人可以给我一些提示,或者给我指出一个关于这个主题的好资源,或者一些权威网站/人?或者只是推荐另一个“正常工作”的ORM框架?


答案 1

我心情复杂。我是SQL的大师,只是因为它很容易验证。您可以快速测试 SELECT 语句,直到获得正确的结果。重构是轻而易举的。

在Doctorine或任何ORM中,有太多的抽象层次,几乎看起来像是强迫症(强迫症/强迫症)。在我最新的项目中,我尝试了教义,我碰了几堵墙。我花了好几天的时间才想出一个解决方案,我知道我可以在几分钟内用SQL编写。这太令人沮丧了。

我脾气暴躁。SQL的社区是巨大的。社区/对教义的支持是微不足道的。当然,您可以查看来源并尝试弄清楚...这些是需要几天才能弄清楚的问题。

底线:不要尝试教义或任何ORM,而没有在很多时间里自己做摸索。


答案 2

我认为mtbikemike完美地总结了这一点:“我花了几天时间才为我知道可以在几分钟内用SQL编写的东西找到解决方案。这也是我的经历。保证SAD(应用程序开发缓慢)。更不用说丑陋的代码和每个角落的限制。应该需要几分钟的事情需要几天的时间,而通常更复杂的事情需要数小时或数天的时间,这是不可行的(或者不值得花时间)。生成的代码更加冗长和隐晦(因为我们确实需要另一种查询语言DQL来使事情的可读性更低)。奇怪的错误无处不在,大部分时间都花在追捕它们并遇到限制和问题上。教义(我只使用v2.x)类似于徒劳的练习,绝对没有任何好处。到目前为止,它是我当前系统中最讨厌的组件,也是唯一一个存在巨大问题的组件。进入一个新系统,我总是从数据库到实体类来回走动,试图找出哪个名称在代码的不同位置是正确的。一场彻头彻尾的噩梦。

我没有看到任何对教义的赞成,只有缺点。我不知道它为什么存在,而且每天都我希望它没有(至少在我的项目中)。


推荐