mirror of
https://github.com/symfony/class-loader.git
synced 2026-04-24 17:28:05 +02:00
7572c904b2
* 2.8: (22 commits) Tests and fix for issue in array model data in EntityType field with multiple=true [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible removed useless PHPDoc [Form] Fix FormInterface::submit() annotation PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4 HttpCache does not consider ESI resources in HEAD requests Fix translation for "This field was not expected" [Routing] Enhance Route(Collection) docblocks Added improvement for accuracy in MoneyToLocalizedStringTransformer. Removed unused private property Use correct verb form in the pull request template Use PHP_MAXPATHLEN in Filesystem. Added null as explicit return type (?TokenInterface) [FrameworkBundle] Fix Routing\DelegatingLoader Render all line breaks according to the exception message [Form] Fix phpdoc [DI] remove confusing code [Form] Fixed GroupSequence with "constraints" option [Validator] Clarify UUID validator behavior [Filesystem] Fixed makePathRelative ...
71 lines
1.7 KiB
PHP
71 lines
1.7 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony 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\Component\ClassLoader;
|
|
|
|
@trigger_error('The '.__NAMESPACE__.'\MapClassLoader class is deprecated since version 3.3 and will be removed in 4.0. Use Composer instead.', E_USER_DEPRECATED);
|
|
|
|
/**
|
|
* A class loader that uses a mapping file to look up paths.
|
|
*
|
|
* @author Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* @deprecated since version 3.3, to be removed in 4.0.
|
|
*/
|
|
class MapClassLoader
|
|
{
|
|
private $map = array();
|
|
|
|
/**
|
|
* @param array $map A map where keys are classes and values the absolute file path
|
|
*/
|
|
public function __construct(array $map)
|
|
{
|
|
$this->map = $map;
|
|
}
|
|
|
|
/**
|
|
* Registers this instance as an autoloader.
|
|
*
|
|
* @param bool $prepend Whether to prepend the autoloader or not
|
|
*/
|
|
public function register($prepend = false)
|
|
{
|
|
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
|
}
|
|
|
|
/**
|
|
* Loads the given class or interface.
|
|
*
|
|
* @param string $class The name of the class
|
|
*/
|
|
public function loadClass($class)
|
|
{
|
|
if (isset($this->map[$class])) {
|
|
require $this->map[$class];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Finds the path to the file where the class is defined.
|
|
*
|
|
* @param string $class The name of the class
|
|
*
|
|
* @return string|null The path, if found
|
|
*/
|
|
public function findFile($class)
|
|
{
|
|
if (isset($this->map[$class])) {
|
|
return $this->map[$class];
|
|
}
|
|
}
|
|
}
|