ヤミRoot VoidGate
User / IP
:
216.73.216.81
Host / Server
:
146.88.233.70 / dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
logercm
/
dev.loger.cm
/
vendor
/
symfony
/
maker-bundle
/
src
/
Util
/
Viewing: ComposerAutoloaderFinder.php
<?php /* * This file is part of the Symfony MakerBundle package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\MakerBundle\Util; use Composer\Autoload\ClassLoader; use Symfony\Component\Debug\DebugClassLoader; use Symfony\Component\ErrorHandler\DebugClassLoader as ErrorHandlerDebugClassLoader; /** * @internal */ class ComposerAutoloaderFinder { private $rootNamespace; /** * @var ClassLoader|null */ private $classLoader = null; public function __construct(string $rootNamespace) { $this->rootNamespace = [ 'psr0' => rtrim($rootNamespace, '\\'), 'psr4' => rtrim($rootNamespace, '\\').'\\', ]; } public function getClassLoader(): ClassLoader { if (null === $this->classLoader) { $this->classLoader = $this->findComposerClassLoader(); } if (null === $this->classLoader) { throw new \Exception("Could not find a Composer autoloader that autoloads from '{$this->rootNamespace['psr4']}'"); } return $this->classLoader; } private function findComposerClassLoader(): ?ClassLoader { $autoloadFunctions = spl_autoload_functions(); foreach ($autoloadFunctions as $autoloader) { if (!\is_array($autoloader)) { continue; } $classLoader = $this->extractComposerClassLoader($autoloader); if (null === $classLoader) { continue; } $finalClassLoader = $this->locateMatchingClassLoader($classLoader); if (null !== $finalClassLoader) { return $finalClassLoader; } } return null; } private function extractComposerClassLoader(array $autoloader): ?ClassLoader { if (isset($autoloader[0]) && \is_object($autoloader[0])) { if ($autoloader[0] instanceof ClassLoader) { return $autoloader[0]; } if ( ($autoloader[0] instanceof DebugClassLoader || $autoloader[0] instanceof ErrorHandlerDebugClassLoader) && \is_array($autoloader[0]->getClassLoader()) && $autoloader[0]->getClassLoader()[0] instanceof ClassLoader) { return $autoloader[0]->getClassLoader()[0]; } } return null; } private function locateMatchingClassLoader(ClassLoader $classLoader): ?ClassLoader { $makerClassLoader = null; foreach ($classLoader->getPrefixesPsr4() as $prefix => $paths) { if ('Symfony\\Bundle\\MakerBundle\\' === $prefix) { $makerClassLoader = $classLoader; } if (0 === strpos($this->rootNamespace['psr4'], $prefix)) { return $classLoader; } } foreach ($classLoader->getPrefixes() as $prefix => $paths) { if (0 === strpos($this->rootNamespace['psr0'], $prefix)) { return $classLoader; } } // Nothing found? Try the class loader where we found MakerBundle return $makerClassLoader; } }
Coded With 💗 by
0x6ick