D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
psa
/
admin
/
plib
/
vendor
/
jms
/
serializer
/
src
/
Metadata
/
Driver
/
Filename :
NullDriver.php
back
Copy
<?php declare(strict_types=1); namespace JMS\Serializer\Metadata\Driver; use JMS\Serializer\Metadata\ClassMetadata; use JMS\Serializer\Metadata\PropertyMetadata; use JMS\Serializer\Naming\PropertyNamingStrategyInterface; use Metadata\ClassMetadata as BaseClassMetadata; use Metadata\Driver\DriverInterface; class NullDriver implements DriverInterface { /** * @var PropertyNamingStrategyInterface */ private $namingStrategy; public function __construct(PropertyNamingStrategyInterface $namingStrategy) { $this->namingStrategy = $namingStrategy; } public function loadMetadataForClass(\ReflectionClass $class): ?BaseClassMetadata { $classMetadata = new ClassMetadata($name = $class->name); $fileResource = $class->getFilename(); if (false !== $fileResource) { $classMetadata->fileResources[] = $fileResource; } foreach ($class->getProperties() as $property) { if ($property->class !== $name || (isset($property->info) && $property->info['class'] !== $name)) { continue; } $propertyMetadata = new PropertyMetadata($name, $property->getName()); if (!$propertyMetadata->serializedName) { $propertyMetadata->serializedName = $this->namingStrategy->translateName($propertyMetadata); } $classMetadata->addPropertyMetadata($propertyMetadata); } return $classMetadata; } }