![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/jms/metadata/src/Driver/ |
<?php declare(strict_types=1); namespace Metadata\Driver; use Metadata\ClassMetadata; final class DriverChain implements AdvancedDriverInterface { /** * @var DriverInterface[] */ private $drivers; /** * @param DriverInterface[] $drivers */ public function __construct(array $drivers = []) { $this->drivers = $drivers; } public function addDriver(DriverInterface $driver): void { $this->drivers[] = $driver; } public function loadMetadataForClass(\ReflectionClass $class): ?ClassMetadata { foreach ($this->drivers as $driver) { if (null !== $metadata = $driver->loadMetadataForClass($class)) { return $metadata; } } return null; } /** * {@inheritDoc} */ public function getAllClassNames(): array { $classes = []; foreach ($this->drivers as $driver) { if (!$driver instanceof AdvancedDriverInterface) { throw new \RuntimeException( sprintf( 'Driver "%s" must be an instance of "AdvancedDriverInterface" to use ' . '"DriverChain::getAllClassNames()".', get_class($driver) ) ); } $driverClasses = $driver->getAllClassNames(); if (!empty($driverClasses)) { $classes = array_merge($classes, $driverClasses); } } return $classes; } }