原则 2:代理名称冲突

发布于 2024-12-03 23:55:31 字数 273 浏览 0 评论 0原文

我正在学习 Doctrine 2,并注意到生成的代理类的名称是原始类的全名,没有命名空间分隔符,并附加了 Proxy

如果您使用命名空间域模型并且发生冲突怎么办?

Order         => OrderProxy
OrderProduct  => OrderProductProxy
Order\Product => OrderProductProxy (!)

是否可以更改此类代理的命名约定?

I'm learning Doctrine 2, and noticed that the name of a generated proxy class is the original class' full name, without the namespace separator, with Proxy appended to it.

What if you use a namespaced domain model, and there is a collision?

Order         => OrderProxy
OrderProduct  => OrderProductProxy
Order\Product => OrderProductProxy (!)

Is it possible to change the naming convention for such proxies?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑,眼淚并存 2024-12-10 23:55:31

目前看来是不可能的。

源代码显示此命名约定是硬编码的:

$proxyClassName = str_replace('\\', '', $className) . 'Proxy';

无论如何,我现在倾向于认为这并不是一件坏事:通过尝试避免此类冲突,我们消除了域类命名中的混乱。

Looks like it's not possible at the moment.

The source code shows that this naming convention is hardcoded:

$proxyClassName = str_replace('\\', '', $className) . 'Proxy';

Anyway, I now tend to think that's it's not such a bad thing: by trying to avoid such collisions, we remove confusion in the naming of our domain classes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文