Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
web
/
vhosts
/
www.humitest.fr
/
htdocs
/
vendor
/
jms
/
metadata
/
src
/
Metadata
/
Driver
/
/srv/data/web/vhosts/www.humitest.fr/htdocs/vendor/jms/metadata/src/Metadata/Driver/FileLocator.php
<?php namespace Metadata\Driver; class FileLocator implements AdvancedFileLocatorInterface { private $dirs; public function __construct(array $dirs) { $this->dirs = $dirs; } public function getDirs() { return $this->dirs; } /** * @param \ReflectionClass $class * @param string $extension * * @return string|null */ public function findFileForClass(\ReflectionClass $class, $extension) { foreach ($this->dirs as $prefix => $dir) { if ('' !== $prefix && 0 !== strpos($class->getNamespaceName(), $prefix)) { continue; } $len = '' === $prefix ? 0 : strlen($prefix) + 1; $path = $dir.'/'.str_replace('\\', '.', substr($class->name, $len)).'.'.$extension; if (file_exists($path)) { return $path; } } return null; } /** * {@inheritDoc} */ public function findAllClasses($extension) { $classes = array(); foreach ($this->dirs as $prefix => $dir) { /** @var $iterator \RecursiveIteratorIterator|\SplFileInfo[] */ $iterator = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($dir), \RecursiveIteratorIterator::LEAVES_ONLY ); $nsPrefix = $prefix !== '' ? $prefix.'\\' : ''; foreach ($iterator as $file) { if (($fileName = $file->getBasename('.'.$extension)) == $file->getBasename()) { continue; } $classes[] = $nsPrefix.str_replace('.', '\\', $fileName); } } return $classes; } }