Deprecated: Constant E_STRICT is deprecated in /home/normanv/www/annuairepro/vendor/symfony/error-handler/ErrorHandler.php on line 58

Deprecated: Constant E_STRICT is deprecated in /home/normanv/www/annuairepro/vendor/symfony/error-handler/ErrorHandler.php on line 76
Symfony Profiler

vendor/vich/uploader-bundle/src/Metadata/Driver/AbstractYamlDriver.php line 52

Open in your IDE?
  1. <?php
  2. namespace Vich\UploaderBundle\Metadata\Driver;
  3. use Metadata\ClassMetadata as JMSClassMetadata;
  4. use Metadata\Driver\AbstractFileDriver;
  5. use Symfony\Component\Yaml\Yaml as YmlParser;
  6. use Vich\UploaderBundle\Metadata\ClassMetadata;
  7. /**
  8.  * @author Kévin Gomez <contact@kevingomez.fr>
  9.  * @author Konstantin Myakshin <koc-dp@yandex.ru>
  10.  */
  11. abstract class AbstractYamlDriver extends AbstractFileDriver
  12. {
  13.     /**
  14.      * @param string $file
  15.      */
  16.     protected function loadMetadataFromFile(\ReflectionClass $class$file): ?JMSClassMetadata
  17.     {
  18.         $config $this->loadMappingFile($file);
  19.         $className $this->guessClassName($file$config$class);
  20.         $classMetadata = new ClassMetadata($className);
  21.         $classMetadata->fileResources[] = $file;
  22.         $classMetadata->fileResources[] = $class->getFileName();
  23.         foreach ($config[$className] as $field => $mappingData) {
  24.             $fieldMetadata = [
  25.                 'mapping' => $mappingData['mapping'],
  26.                 'propertyName' => $field,
  27.                 'fileNameProperty' => $mappingData['filename_property'] ?? null,
  28.                 'size' => $mappingData['size'] ?? null,
  29.                 'mimeType' => $mappingData['mime_type'] ?? null,
  30.                 'originalName' => $mappingData['original_name'] ?? null,
  31.                 'dimensions' => $mappingData['dimensions'] ?? null,
  32.             ];
  33.             $classMetadata->fields[$field] = $fieldMetadata;
  34.         }
  35.         return $classMetadata;
  36.     }
  37.     /**
  38.      * @return mixed
  39.      */
  40.     protected function loadMappingFile(string $file)
  41.     {
  42.         return YmlParser::parse(\file_get_contents($file));
  43.     }
  44.     protected function guessClassName(string $file, array $config\ReflectionClass $class null): string
  45.     {
  46.         if (null === $class) {
  47.             return \current(\array_keys($config));
  48.         }
  49.         if (!isset($config[$class->name])) {
  50.             throw new \RuntimeException(\sprintf('Expected metadata for class %s to be defined in %s.'$class->name$file));
  51.         }
  52.         return $class->name;
  53.     }
  54. }