gpt4 book ai didi

php - Symfony2,EntityManager::getRepository(命名空间\To\Some\Class::class 或 '**Bundle:Entity')

转载 作者:可可西里 更新时间:2023-10-31 22:52:31 26 4
gpt4 key购买 nike

Symfony2 文档说我应该使用别名快捷方式 'ByBundle:myEntity' 作为实体路径:

$em->getRepository('ByBundle:myEntity');

但是这个字符串文字没有用——没有重构,没有在 IDE 中快速自动重命名实体类。

我使用魔术方法::class

$em->getRepository(\ByBundle\Entity\myEntity::class);

问题:我这样做对吗?

最佳答案

事实上,Symfony2 核心团队正在使用::class 方法来添加表单字段类型,例如:$builder->add('name',TextType::class,array(...) ) 自 Symfony v2.8 以来,我猜你这样做没有错。

更新:这允许您的 IDE 在链接的实体类命名空间发生变化时抛出异常,并且您将能够在开发过程中识别出这一点。这绝对是一种“安全总比后悔好”的方式来映射实体,而不是将完整的限定 namespace 甚至别名作为字符串。

关于php - Symfony2,EntityManager::getRepository(命名空间\To\Some\Class::class 或 '**Bundle:Entity'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35287644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com