Я предпочитаю это решение:
/**
* Get the bundle name from an Entity namespace
*
* @return string
* @author lenybernard
**/
protected static function getBundleNameFromEntity($entityNamespace, $bundles)
{
$dataBaseNamespace = substr($entityNamespace, 0, strpos($entityNamespace, '\\Entity\\'));
foreach ($bundles as $type => $bundle) {
$bundleRefClass = new \ReflectionClass($bundle);
if ($bundleRefClass->getNamespaceName() === $dataBaseNamespace) {
return $type;
}
}
}
Примечание: переменная $bundles
является результатом вызова метода getBundles () службы kernel
.