Позже, нужно было сделать команду, которая будет перегенерировать все превью заново (например, решили что они станут больше). `$metadataFactory = $this->em->getMetadataFactory(); $allClassNames = $metadataFactory->getAllMetadata(); // $allClassNames теперь содержит все классы, о котороых знает EntityManager
foreach ($allClassNames as $classMetadata) { $className = $classMetadata->getName(); if (!str_starts_with($className, 'AppEntity')) { // Пропускаем классы, которые не начинаются с AppEntity // Они могут появиться там из-за всего, что маппится из папки vendor continue; }
$reflectionClass = new ReflectionClass($className);
foreach ($reflectionClass->getProperties() as $property) { // Перебираем св-ва класса и находим те, у которых есть наш атрибут $attributes = $property->getAttributes(ImageManipulatorField::class); if (empty($attributes)) { continue; } } } Entity не попадают в symfony container, поэтому их перебирать надо особым способом. Вначале, я чуть было не задействовал finder, который мог решить эту проблему. Но зачем ворошить файловую систему, если доктрина итак знает всё о своих сущностях?`