Я использую SymfonyInsight в gitlab-ci для улучшения качества кода моего приложения.В этом приложении мне нужно использовать CustomIdGenerator для моих сущностей.
В моем анализе я получил предупреждение: Менеджер сущностей Doctrine не должен передаваться в качестве аргумента.Эта ошибка обнаружена для метода с именем «generate», используемого CustomIdGenerator.
<?php
namespace MyApp\Generator;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Id\AbstractIdGenerator;
class IDGenerator extends AbstractIdGenerator
{
/**
* Generates an identifier for an entity.
*
* @param EntityManager $em
* @param object|null $entity
* @return int
* @throws \Doctrine\Common\Persistence\Mapping\MappingException
* @throws \ReflectionException
*/
public function generate(EntityManager $em, $entity)
{
$class = $em->getMetadataFactory()->getMetadataFor(get_class($entity))->getName();
$res = <My own logic>
return $res;
}
}
My Entity:
<?php
use Doctrine\ORM\Mapping as ORM;
/**
*
* @ORM\Table(name="my_table")
* @ORM\Entity
*/
class Entity
{
/**
* @var integer
*
* @ORM\Column(name="id_unique", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="CUSTOM")
* @ORM\CustomIdGenerator(class="IDGenerator")
*/
private $id;
Есть ли способ предотвратить запуск SymfonyInsight только в этом случае?