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

标签 php symfony doctrine-orm entitymanager

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/

相关文章:

php - Symfony 表单 : disable "required" for a field from Twig

symfony - 预期的已知函数,得到 '...TimeDiffFunction not found in ....Doctrine\ORM\Query\Parser.php

php - 简单页面上的高平均负载 zf2 + 学说

php - Doctrine2 树菜单的 Symfony2 路由

php - 从子目录飞行 PHP 路由

php - 我如何检查 php 中字符串的开头?

php - 在 PHP 中确定用户的时间和日期

php - codeigniter 中的验证剩余 api 保持返回 false

php - Symfony 2 是否支持部分表单绑定(bind)?

Symfony FormType getParent与继承