vendor/vich/uploader-bundle/src/DataCollector/MappingCollector.php line 25

Open in your IDE?
  1. <?php
  2. namespace Vich\UploaderBundle\DataCollector;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\HttpKernel\DataCollector\DataCollector;
  6. use Vich\UploaderBundle\Metadata\MetadataReader;
  7. /**
  8.  * @internal
  9.  */
  10. final class MappingCollector extends DataCollector
  11. {
  12.     /**
  13.      * @var MetadataReader
  14.      */
  15.     private $metadataReader;
  16.     public function __construct(MetadataReader $metadataReader)
  17.     {
  18.         $this->metadataReader $metadataReader;
  19.     }
  20.     public function collect(Request $requestResponse $response, ?\Throwable $exception null): void
  21.     {
  22.         $mappings = [];
  23.         $uploadableClasses $this->metadataReader->getUploadableClasses();
  24.         foreach ($uploadableClasses as $class) {
  25.             $mappings[$class] = $this->metadataReader->getUploadableFields($class);
  26.         }
  27.         \ksort($mappings);
  28.         $this->data = [
  29.             'mappings' => $mappings,
  30.         ];
  31.     }
  32.     public function reset(): void
  33.     {
  34.         $this->data = [];
  35.     }
  36.     public function getName(): string
  37.     {
  38.         return 'vich_uploader.mapping_collector';
  39.     }
  40.     public function getMappingsCount(): int
  41.     {
  42.         return \count($this->data['mappings']);
  43.     }
  44.     public function getMappings(): array
  45.     {
  46.         return $this->data['mappings'];
  47.     }
  48. }