Compare commits

...

16 Commits
v3.4.19 ... 3.4

Author SHA1 Message Date
Nicolas Grekas
a22265a9f3 Remove branch-version (keep them for contracts only) 2020-10-24 12:57:07 +02:00
Nicolas Grekas
df12a498a6 Fix branch-version 2020-10-13 15:20:16 +02:00
Nicolas Grekas
30ec6eb319 Remove "version" from composer.json files, use "branch-version" instead 2020-10-13 14:21:16 +02:00
Nicolas Grekas
4afd812a39 Update versions in composer.json 2020-10-06 17:25:25 +02:00
Nicolas Grekas
17092401a4 Remove "branch-alias", populate "version" 2020-10-06 13:22:52 +02:00
Nicolas Grekas
5e119b7df5 Enable "native_constant_invocation" CS rule 2020-09-02 18:06:40 +02:00
Alexander M. Turek
04a7e4c1bf [ClassLoader][Routing] Fix namespace parsing on php 8. 2020-08-09 13:28:08 +02:00
Fabien Potencier
e4636a4f23 Add missing dots at the end of exception messages 2020-03-15 10:38:08 +01:00
Shaharia Azam
bcdf6ff46e Update links to documentation 2020-01-04 13:05:51 +01:00
Jan Rosier
a016c360a5 Update year in license files 2020-01-01 12:03:25 +01:00
Alexander M. Turek
e212b06996 Fix inconsistent return points. 2019-08-20 15:31:17 +02:00
Jérémy Derussé
5a37725821 Remove use of ForwardCompatTrait 2019-08-03 23:15:25 +02:00
Jérémy Derussé
bfe1178328 Fix deprecated phpunit annotation 2019-08-02 00:48:42 +02:00
Nicolas Grekas
4860dcded1 Make tests support phpunit 8 2019-07-31 23:55:24 +02:00
Fabien Potencier
4459eef529 switched array() to [] 2019-01-16 10:39:14 +01:00
Christian Flothmann
4513348012 update year in license files 2019-01-01 14:45:19 +01:00
16 changed files with 264 additions and 251 deletions

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\ApcClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use `composer install --apcu-autoloader` instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\ApcClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use `composer install --apcu-autoloader` instead.', \E_USER_DEPRECATED);
/**
* ApcClassLoader implements a wrapping autoloader cached in APC for PHP 5.3.
@@ -88,7 +88,7 @@ class ApcClassLoader
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
spl_autoload_register([$this, 'loadClass'], true, $prepend);
}
/**
@@ -96,7 +96,7 @@ class ApcClassLoader
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
spl_autoload_unregister([$this, 'loadClass']);
}
/**
@@ -113,6 +113,8 @@ class ApcClassLoader
return true;
}
return null;
}
/**
@@ -138,6 +140,6 @@ class ApcClassLoader
*/
public function __call($method, $args)
{
return \call_user_func_array(array($this->decorated, $method), $args);
return \call_user_func_array([$this->decorated, $method], $args);
}
}

View File

@@ -12,7 +12,7 @@
namespace Symfony\Component\ClassLoader;
if (\PHP_VERSION_ID >= 70000) {
@trigger_error('The '.__NAMESPACE__.'\ClassCollectionLoader class is deprecated since Symfony 3.3 and will be removed in 4.0.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\ClassCollectionLoader class is deprecated since Symfony 3.3 and will be removed in 4.0.', \E_USER_DEPRECATED);
}
/**
@@ -63,7 +63,7 @@ class ClassCollectionLoader
// cache the core classes
if (!is_dir($cacheDir) && !@mkdir($cacheDir, 0777, true) && !is_dir($cacheDir)) {
throw new \RuntimeException(sprintf('Class Collection Loader was not able to create directory "%s"', $cacheDir));
throw new \RuntimeException(sprintf('Class Collection Loader was not able to create directory "%s".', $cacheDir));
}
$cacheDir = rtrim(realpath($cacheDir) ?: $cacheDir, '/'.\DIRECTORY_SEPARATOR);
$cache = $cacheDir.'/'.$name.$extension;
@@ -108,7 +108,7 @@ class ClassCollectionLoader
if ($autoReload) {
// save the resources
self::writeCacheFile($metadata, serialize(array(array_values($files), $classes)));
self::writeCacheFile($metadata, serialize([array_values($files), $classes]));
}
}
@@ -125,7 +125,7 @@ class ClassCollectionLoader
*/
public static function inline($classes, $cache, array $excluded)
{
$declared = array();
$declared = [];
foreach (self::getOrderedClasses($excluded) as $class) {
$declared[$class->getName()] = true;
}
@@ -133,7 +133,7 @@ class ClassCollectionLoader
// cache the core classes
$cacheDir = \dirname($cache);
if (!is_dir($cacheDir) && !@mkdir($cacheDir, 0777, true) && !is_dir($cacheDir)) {
throw new \RuntimeException(sprintf('Class Collection Loader was not able to create directory "%s"', $cacheDir));
throw new \RuntimeException(sprintf('Class Collection Loader was not able to create directory "%s".', $cacheDir));
}
$spacesRegex = '(?:\s*+(?:(?:\#|//)[^\n]*+\n|/\*(?:(?<!\*/).)++)?+)*+';
@@ -147,7 +147,7 @@ REGEX;
$dontInlineRegex = str_replace('.', $spacesRegex, $dontInlineRegex);
$cacheDir = explode('/', str_replace(\DIRECTORY_SEPARATOR, '/', $cacheDir));
$files = array();
$files = [];
$content = '';
foreach (self::getOrderedClasses($classes) as $class) {
if (isset($declared[$class->getName()])) {
@@ -176,7 +176,7 @@ REGEX;
$c = "\nnamespace {require $file;}";
} else {
$c = preg_replace(array('/^\s*<\?php/', '/\?>\s*$/'), '', $c);
$c = preg_replace(['/^\s*<\?php/', '/\?>\s*$/'], '', $c);
// fakes namespace declaration for global code
if (!$class->inNamespace()) {
@@ -216,21 +216,26 @@ REGEX;
$inNamespace = false;
$tokens = token_get_all($source);
$nsTokens = [\T_WHITESPACE => true, \T_NS_SEPARATOR => true, \T_STRING => true];
if (\defined('T_NAME_QUALIFIED')) {
$nsTokens[T_NAME_QUALIFIED] = true;
}
for ($i = 0; isset($tokens[$i]); ++$i) {
$token = $tokens[$i];
if (!isset($token[1]) || 'b"' === $token) {
$rawChunk .= $token;
} elseif (\in_array($token[0], array(T_COMMENT, T_DOC_COMMENT))) {
} elseif (\in_array($token[0], [\T_COMMENT, \T_DOC_COMMENT])) {
// strip comments
continue;
} elseif (T_NAMESPACE === $token[0]) {
} elseif (\T_NAMESPACE === $token[0]) {
if ($inNamespace) {
$rawChunk .= "}\n";
}
$rawChunk .= $token[1];
// namespace name and whitespaces
while (isset($tokens[++$i][1]) && \in_array($tokens[$i][0], array(T_WHITESPACE, T_NS_SEPARATOR, T_STRING))) {
while (isset($tokens[++$i][1], $nsTokens[$tokens[$i][0]])) {
$rawChunk .= $tokens[$i][1];
}
if ('{' === $tokens[$i]) {
@@ -240,15 +245,15 @@ REGEX;
$rawChunk = rtrim($rawChunk)."\n{";
$inNamespace = true;
}
} elseif (T_START_HEREDOC === $token[0]) {
} elseif (\T_START_HEREDOC === $token[0]) {
$output .= self::compressCode($rawChunk).$token[1];
do {
$token = $tokens[++$i];
$output .= isset($token[1]) && 'b"' !== $token ? $token[1] : $token;
} while (T_END_HEREDOC !== $token[0]);
} while (\T_END_HEREDOC !== $token[0]);
$output .= "\n";
$rawChunk = '';
} elseif (T_CONSTANT_ENCAPSED_STRING === $token[0]) {
} elseif (\T_CONSTANT_ENCAPSED_STRING === $token[0]) {
$output .= self::compressCode($rawChunk).$token[1];
$rawChunk = '';
} else {
@@ -289,8 +294,8 @@ REGEX;
private static function compressCode($code)
{
return preg_replace(
array('/^\s+/m', '/\s+$/m', '/([\n\r]+ *[\n\r]+)+/', '/[ \t]+/'),
array('', '', "\n", ' '),
['/^\s+/m', '/\s+$/m', '/([\n\r]+ *[\n\r]+)+/', '/[ \t]+/'],
['', '', "\n", ' '],
$code
);
}
@@ -330,13 +335,13 @@ REGEX;
*/
private static function getOrderedClasses(array $classes)
{
$map = array();
self::$seen = array();
$map = [];
self::$seen = [];
foreach ($classes as $class) {
try {
$reflectionClass = new \ReflectionClass($class);
} catch (\ReflectionException $e) {
throw new \InvalidArgumentException(sprintf('Unable to load class "%s"', $class));
throw new \InvalidArgumentException(sprintf('Unable to load class "%s".', $class));
}
$map = array_merge($map, self::getClassHierarchy($reflectionClass));
@@ -348,12 +353,12 @@ REGEX;
private static function getClassHierarchy(\ReflectionClass $class)
{
if (isset(self::$seen[$class->getName()])) {
return array();
return [];
}
self::$seen[$class->getName()] = true;
$classes = array($class);
$classes = [$class];
$parent = $class;
while (($parent = $parent->getParentClass()) && $parent->isUserDefined() && !isset(self::$seen[$parent->getName()])) {
self::$seen[$parent->getName()] = true;
@@ -361,7 +366,7 @@ REGEX;
array_unshift($classes, $parent);
}
$traits = array();
$traits = [];
foreach ($classes as $c) {
foreach (self::resolveDependencies(self::computeTraitDeps($c), $c) as $trait) {
@@ -376,7 +381,7 @@ REGEX;
private static function getInterfaces(\ReflectionClass $class)
{
$classes = array();
$classes = [];
foreach ($class->getInterfaces() as $interface) {
$classes = array_merge($classes, self::getInterfaces($interface));
@@ -394,7 +399,7 @@ REGEX;
private static function computeTraitDeps(\ReflectionClass $class)
{
$traits = $class->getTraits();
$deps = array($class->getName() => $traits);
$deps = [$class->getName() => $traits];
while ($trait = array_pop($traits)) {
if ($trait->isUserDefined() && !isset(self::$seen[$trait->getName()])) {
self::$seen[$trait->getName()] = true;

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\ClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\ClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', \E_USER_DEPRECATED);
/**
* ClassLoader implements an PSR-0 class loader.
@@ -43,8 +43,8 @@ namespace Symfony\Component\ClassLoader;
*/
class ClassLoader
{
private $prefixes = array();
private $fallbackDirs = array();
private $prefixes = [];
private $fallbackDirs = [];
private $useIncludePath = false;
/**
@@ -136,7 +136,7 @@ class ClassLoader
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
spl_autoload_register([$this, 'loadClass'], true, $prepend);
}
/**
@@ -144,7 +144,7 @@ class ClassLoader
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
spl_autoload_unregister([$this, 'loadClass']);
}
/**
@@ -161,6 +161,8 @@ class ClassLoader
return true;
}
return null;
}
/**
@@ -203,5 +205,7 @@ class ClassLoader
if ($this->useIncludePath && $file = stream_resolve_include_path($classPath)) {
return $file;
}
return null;
}
}

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\ClassMapGenerator class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\ClassMapGenerator class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', \E_USER_DEPRECATED);
/**
* ClassMapGenerator.
@@ -31,7 +31,7 @@ class ClassMapGenerator
public static function dump($dirs, $file)
{
$dirs = (array) $dirs;
$maps = array();
$maps = [];
foreach ($dirs as $dir) {
$maps = array_merge($maps, static::createMap($dir));
@@ -53,7 +53,7 @@ class ClassMapGenerator
$dir = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir));
}
$map = array();
$map = [];
foreach ($dir as $file) {
if (!$file->isFile()) {
@@ -62,7 +62,7 @@ class ClassMapGenerator
$path = $file->getRealPath() ?: $file->getPathname();
if ('php' !== pathinfo($path, PATHINFO_EXTENSION)) {
if ('php' !== pathinfo($path, \PATHINFO_EXTENSION)) {
continue;
}
@@ -93,7 +93,12 @@ class ClassMapGenerator
$contents = file_get_contents($path);
$tokens = token_get_all($contents);
$classes = array();
$nsTokens = [\T_STRING => true, \T_NS_SEPARATOR => true];
if (\defined('T_NAME_QUALIFIED')) {
$nsTokens[T_NAME_QUALIFIED] = true;
}
$classes = [];
$namespace = '';
for ($i = 0; isset($tokens[$i]); ++$i) {
@@ -106,19 +111,19 @@ class ClassMapGenerator
$class = '';
switch ($token[0]) {
case T_NAMESPACE:
case \T_NAMESPACE:
$namespace = '';
// If there is a namespace, extract it
while (isset($tokens[++$i][1])) {
if (\in_array($tokens[$i][0], array(T_STRING, T_NS_SEPARATOR))) {
if (isset($nsTokens[$tokens[$i][0]])) {
$namespace .= $tokens[$i][1];
}
}
$namespace .= '\\';
break;
case T_CLASS:
case T_INTERFACE:
case T_TRAIT:
case \T_CLASS:
case \T_INTERFACE:
case \T_TRAIT:
// Skip usage of ::class constant
$isClassConstant = false;
for ($j = $i - 1; $j > 0; --$j) {
@@ -126,10 +131,10 @@ class ClassMapGenerator
break;
}
if (T_DOUBLE_COLON === $tokens[$j][0]) {
if (\T_DOUBLE_COLON === $tokens[$j][0]) {
$isClassConstant = true;
break;
} elseif (!\in_array($tokens[$j][0], array(T_WHITESPACE, T_DOC_COMMENT, T_COMMENT))) {
} elseif (!\in_array($tokens[$j][0], [\T_WHITESPACE, \T_DOC_COMMENT, \T_COMMENT])) {
break;
}
}
@@ -141,9 +146,9 @@ class ClassMapGenerator
// Find the classname
while (isset($tokens[++$i][1])) {
$t = $tokens[$i];
if (T_STRING === $t[0]) {
if (\T_STRING === $t[0]) {
$class .= $t[1];
} elseif ('' !== $class && T_WHITESPACE === $t[0]) {
} elseif ('' !== $class && \T_WHITESPACE === $t[0]) {
break;
}
}

View File

@@ -1,4 +1,4 @@
Copyright (c) 2004-2018 Fabien Potencier
Copyright (c) 2004-2020 Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\MapClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\MapClassLoader class is deprecated since Symfony 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.
@@ -22,7 +22,7 @@ namespace Symfony\Component\ClassLoader;
*/
class MapClassLoader
{
private $map = array();
private $map = [];
/**
* @param array $map A map where keys are classes and values the absolute file path
@@ -39,7 +39,7 @@ class MapClassLoader
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
spl_autoload_register([$this, 'loadClass'], true, $prepend);
}
/**
@@ -63,8 +63,6 @@ class MapClassLoader
*/
public function findFile($class)
{
if (isset($this->map[$class])) {
return $this->map[$class];
}
return isset($this->map[$class]) ? $this->map[$class] : null;
}
}

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\Psr4ClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\Psr4ClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use Composer instead.', \E_USER_DEPRECATED);
/**
* A PSR-4 compatible class loader.
@@ -24,7 +24,7 @@ namespace Symfony\Component\ClassLoader;
*/
class Psr4ClassLoader
{
private $prefixes = array();
private $prefixes = [];
/**
* @param string $prefix
@@ -34,7 +34,7 @@ class Psr4ClassLoader
{
$prefix = trim($prefix, '\\').'\\';
$baseDir = rtrim($baseDir, \DIRECTORY_SEPARATOR).\DIRECTORY_SEPARATOR;
$this->prefixes[] = array($prefix, $baseDir);
$this->prefixes[] = [$prefix, $baseDir];
}
/**
@@ -55,6 +55,8 @@ class Psr4ClassLoader
}
}
}
return null;
}
/**
@@ -81,7 +83,7 @@ class Psr4ClassLoader
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
spl_autoload_register([$this, 'loadClass'], true, $prepend);
}
/**
@@ -89,6 +91,6 @@ class Psr4ClassLoader
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
spl_autoload_unregister([$this, 'loadClass']);
}
}

View File

@@ -7,7 +7,7 @@ their locations for performance.
Resources
---------
* [Documentation](https://symfony.com/doc/current/components/class_loader/index.html)
* [Documentation](https://symfony.com/doc/current/components/class_loader.html)
* [Contributing](https://symfony.com/doc/current/contributing/index.html)
* [Report issues](https://github.com/symfony/symfony/issues) and
[send Pull Requests](https://github.com/symfony/symfony/pulls)

View File

@@ -22,7 +22,7 @@ class ApcClassLoaderTest extends TestCase
{
protected function setUp()
{
if (!(filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN))) {
if (!(filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
$this->markTestSkipped('The apc extension is not enabled.');
} else {
apcu_clear_cache();
@@ -31,7 +31,7 @@ class ApcClassLoaderTest extends TestCase
protected function tearDown()
{
if (filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
if (filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
apcu_clear_cache();
}
}
@@ -62,10 +62,10 @@ class ApcClassLoaderTest extends TestCase
public function getLoadClassTests()
{
return array(
array('\\Apc\\Namespaced\\Foo', 'Apc\\Namespaced\\Foo', '->loadClass() loads Apc\Namespaced\Foo class'),
array('Apc_Pearlike_Foo', 'Apc_Pearlike_Foo', '->loadClass() loads Apc_Pearlike_Foo class'),
);
return [
['\\Apc\\Namespaced\\Foo', 'Apc\\Namespaced\\Foo', '->loadClass() loads Apc\Namespaced\Foo class'],
['Apc_Pearlike_Foo', 'Apc_Pearlike_Foo', '->loadClass() loads Apc_Pearlike_Foo class'],
];
}
/**
@@ -76,7 +76,7 @@ class ApcClassLoaderTest extends TestCase
$loader = new ClassLoader();
$loader->addPrefix('Apc\Namespaced', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures');
$loader->addPrefix('Apc_Pearlike_', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures');
$loader->addPrefix('', array(__DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback'));
$loader->addPrefix('', [__DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback']);
$loader = new ApcClassLoader('test.prefix.fallback', $loader);
$loader->loadClass($testClassName);
@@ -86,12 +86,12 @@ class ApcClassLoaderTest extends TestCase
public function getLoadClassFromFallbackTests()
{
return array(
array('\\Apc\\Namespaced\\Baz', 'Apc\\Namespaced\\Baz', '->loadClass() loads Apc\Namespaced\Baz class'),
array('Apc_Pearlike_Baz', 'Apc_Pearlike_Baz', '->loadClass() loads Apc_Pearlike_Baz class'),
array('\\Apc\\Namespaced\\FooBar', 'Apc\\Namespaced\\FooBar', '->loadClass() loads Apc\Namespaced\Baz class from fallback dir'),
array('Apc_Pearlike_FooBar', 'Apc_Pearlike_FooBar', '->loadClass() loads Apc_Pearlike_Baz class from fallback dir'),
);
return [
['\\Apc\\Namespaced\\Baz', 'Apc\\Namespaced\\Baz', '->loadClass() loads Apc\Namespaced\Baz class'],
['Apc_Pearlike_Baz', 'Apc_Pearlike_Baz', '->loadClass() loads Apc_Pearlike_Baz class'],
['\\Apc\\Namespaced\\FooBar', 'Apc\\Namespaced\\FooBar', '->loadClass() loads Apc\Namespaced\Baz class from fallback dir'],
['Apc_Pearlike_FooBar', 'Apc_Pearlike_FooBar', '->loadClass() loads Apc_Pearlike_Baz class from fallback dir'],
];
}
/**
@@ -110,40 +110,40 @@ class ApcClassLoaderTest extends TestCase
public function getLoadClassNamespaceCollisionTests()
{
return array(
array(
array(
return [
[
[
'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
),
],
'Apc\NamespaceCollision\A\Foo',
'->loadClass() loads NamespaceCollision\A\Foo from alpha.',
),
array(
array(
],
[
[
'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
),
],
'Apc\NamespaceCollision\A\Bar',
'->loadClass() loads NamespaceCollision\A\Bar from alpha.',
),
array(
array(
],
[
[
'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
),
],
'Apc\NamespaceCollision\A\B\Foo',
'->loadClass() loads NamespaceCollision\A\B\Foo from beta.',
),
array(
array(
],
[
[
'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
),
],
'Apc\NamespaceCollision\A\B\Bar',
'->loadClass() loads NamespaceCollision\A\B\Bar from beta.',
),
);
],
];
}
/**
@@ -162,39 +162,39 @@ class ApcClassLoaderTest extends TestCase
public function getLoadClassPrefixCollisionTests()
{
return array(
array(
array(
return [
[
[
'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
),
],
'ApcPrefixCollision_A_Foo',
'->loadClass() loads ApcPrefixCollision_A_Foo from alpha.',
),
array(
array(
],
[
[
'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
),
],
'ApcPrefixCollision_A_Bar',
'->loadClass() loads ApcPrefixCollision_A_Bar from alpha.',
),
array(
array(
],
[
[
'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
),
],
'ApcPrefixCollision_A_B_Foo',
'->loadClass() loads ApcPrefixCollision_A_B_Foo from beta.',
),
array(
array(
],
[
[
'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
),
],
'ApcPrefixCollision_A_B_Bar',
'->loadClass() loads ApcPrefixCollision_A_B_Bar from beta.',
),
);
],
];
}
}

View File

@@ -34,17 +34,17 @@ class ClassCollectionLoaderTest extends TestCase
$m = $r->getMethod('getOrderedClasses');
$m->setAccessible(true);
$ordered = $m->invoke(null, array('CTFoo'));
$ordered = $m->invoke(null, ['CTFoo']);
$this->assertEquals(
array('TD', 'TC', 'TB', 'TA', 'TZ', 'CTFoo'),
['TD', 'TC', 'TB', 'TA', 'TZ', 'CTFoo'],
array_map(function ($class) { return $class->getName(); }, $ordered)
);
$ordered = $m->invoke(null, array('CTBar'));
$ordered = $m->invoke(null, ['CTBar']);
$this->assertEquals(
array('TD', 'TZ', 'TC', 'TB', 'TA', 'CTBar'),
['TD', 'TZ', 'TC', 'TB', 'TA', 'CTBar'],
array_map(function ($class) { return $class->getName(); }, $ordered)
);
}
@@ -54,12 +54,12 @@ class ClassCollectionLoaderTest extends TestCase
*/
public function testClassReordering(array $classes)
{
$expected = array(
$expected = [
'ClassesWithParents\\GInterface',
'ClassesWithParents\\CInterface',
'ClassesWithParents\\B',
'ClassesWithParents\\A',
);
];
$r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
$m = $r->getMethod('getOrderedClasses');
@@ -72,27 +72,27 @@ class ClassCollectionLoaderTest extends TestCase
public function getDifferentOrders()
{
return array(
array(array(
return [
[[
'ClassesWithParents\\A',
'ClassesWithParents\\CInterface',
'ClassesWithParents\\GInterface',
'ClassesWithParents\\B',
)),
array(array(
]],
[[
'ClassesWithParents\\B',
'ClassesWithParents\\A',
'ClassesWithParents\\CInterface',
)),
array(array(
]],
[[
'ClassesWithParents\\CInterface',
'ClassesWithParents\\B',
'ClassesWithParents\\A',
)),
array(array(
]],
[[
'ClassesWithParents\\A',
)),
);
]],
];
}
/**
@@ -106,7 +106,7 @@ class ClassCollectionLoaderTest extends TestCase
require_once __DIR__.'/Fixtures/ClassesWithParents/D.php';
require_once __DIR__.'/Fixtures/ClassesWithParents/E.php';
$expected = array(
$expected = [
'ClassesWithParents\\GInterface',
'ClassesWithParents\\CInterface',
'ClassesWithParents\\ATrait',
@@ -116,7 +116,7 @@ class ClassCollectionLoaderTest extends TestCase
'ClassesWithParents\\A',
'ClassesWithParents\\D',
'ClassesWithParents\\E',
);
];
$r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
$m = $r->getMethod('getOrderedClasses');
@@ -129,15 +129,15 @@ class ClassCollectionLoaderTest extends TestCase
public function getDifferentOrdersForTraits()
{
return array(
array(array(
return [
[[
'ClassesWithParents\\E',
'ClassesWithParents\\ATrait',
)),
array(array(
]],
[[
'ClassesWithParents\\E',
)),
);
]],
];
}
public function testFixClassWithTraitsOrdering()
@@ -146,16 +146,16 @@ class ClassCollectionLoaderTest extends TestCase
require_once __DIR__.'/Fixtures/ClassesWithParents/F.php';
require_once __DIR__.'/Fixtures/ClassesWithParents/G.php';
$classes = array(
$classes = [
'ClassesWithParents\\F',
'ClassesWithParents\\G',
);
];
$expected = array(
$expected = [
'ClassesWithParents\\CTrait',
'ClassesWithParents\\F',
'ClassesWithParents\\G',
);
];
$r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
$m = $r->getMethod('getOrderedClasses');
@@ -176,14 +176,14 @@ class ClassCollectionLoaderTest extends TestCase
public function getFixNamespaceDeclarationsData()
{
return array(
array("namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}"),
array("namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}"),
array("namespace Bar ;\nclass Foo {}\n", "namespace Bar\n{\nclass Foo {}\n}"),
array("namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}"),
array("namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}"),
array("namespace\n{\nclass Foo {}\n}\n", "namespace\n{\nclass Foo {}\n}"),
);
return [
["namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}"],
["namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}"],
["namespace Bar ;\nclass Foo {}\n", "namespace Bar\n{\nclass Foo {}\n}"],
["namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}"],
["namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}"],
["namespace\n{\nclass Foo {}\n}\n", "namespace\n{\nclass Foo {}\n}"],
];
}
/**
@@ -198,26 +198,24 @@ class ClassCollectionLoaderTest extends TestCase
public function getFixNamespaceDeclarationsDataWithoutTokenizer()
{
return array(
array("namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}\n"),
array("namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}\n"),
array("namespace Bar ;\nclass Foo {}\n", "namespace Bar\n{\nclass Foo {}\n}\n"),
array("namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}\n"),
array("namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n"),
array("\nnamespace\n{\nclass Foo {}\n\$namespace=123;}\n", "\nnamespace\n{\nclass Foo {}\n\$namespace=123;}\n"),
);
return [
["namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}\n"],
["namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}\n"],
["namespace Bar ;\nclass Foo {}\n", "namespace Bar\n{\nclass Foo {}\n}\n"],
["namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}\n"],
["namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n"],
["\nnamespace\n{\nclass Foo {}\n\$namespace=123;}\n", "\nnamespace\n{\nclass Foo {}\n\$namespace=123;}\n"],
];
}
/**
* @expectedException \InvalidArgumentException
*/
public function testUnableToLoadClassException()
{
$this->expectException('InvalidArgumentException');
if (is_file($file = sys_get_temp_dir().'/foo.php')) {
unlink($file);
}
ClassCollectionLoader::load(array('SomeNotExistingClass'), sys_get_temp_dir(), 'foo', false);
ClassCollectionLoader::load(['SomeNotExistingClass'], sys_get_temp_dir(), 'foo', false);
}
public function testCommentStripping()
@@ -227,14 +225,14 @@ class ClassCollectionLoaderTest extends TestCase
}
spl_autoload_register($r = function ($class) {
if (0 === strpos($class, 'Namespaced') || 0 === strpos($class, 'Pearlike_')) {
@require_once __DIR__.'/Fixtures/'.str_replace(array('\\', '_'), '/', $class).'.php';
@require_once __DIR__.'/Fixtures/'.str_replace(['\\', '_'], '/', $class).'.php';
}
});
$strictTypes = \defined('HHVM_VERSION') ? '' : "\nnamespace {require __DIR__.'/Fixtures/Namespaced/WithStrictTypes.php';}";
ClassCollectionLoader::load(
array('Namespaced\\WithComments', 'Pearlike_WithComments', 'Namespaced\\WithDirMagic', 'Namespaced\\WithFileMagic', 'Namespaced\\WithHaltCompiler', $strictTypes ? 'Namespaced\\WithStrictTypes' : 'Namespaced\\WithComments'),
['Namespaced\\WithComments', 'Pearlike_WithComments', 'Namespaced\\WithDirMagic', 'Namespaced\\WithFileMagic', 'Namespaced\\WithHaltCompiler', $strictTypes ? 'Namespaced\\WithStrictTypes' : 'Namespaced\\WithComments'],
__DIR__,
'bar',
false
@@ -279,7 +277,7 @@ namespace {require __DIR__.'/Fixtures/Namespaced/WithFileMagic.php';}
namespace {require __DIR__.'/Fixtures/Namespaced/WithHaltCompiler.php';}
EOF
.$strictTypes,
str_replace(array("<?php \n", '\\\\'), array('', '/'), file_get_contents($file))
str_replace(["<?php \n", '\\\\'], ['', '/'], file_get_contents($file))
);
unlink($file);
@@ -291,8 +289,8 @@ EOF
@unlink($cache = sys_get_temp_dir().'/inline.php');
$classes = array(WarmedClass::class);
$excluded = array(DeclaredClass::class);
$classes = [WarmedClass::class];
$excluded = [DeclaredClass::class];
ClassCollectionLoader::inline($classes, $cache, $excluded);

View File

@@ -55,10 +55,10 @@ class ClassLoaderTest extends TestCase
public function getLoadClassTests()
{
return array(
array('\\Namespaced2\\Foo', 'Namespaced2\\Foo', '->loadClass() loads Namespaced2\Foo class'),
array('\\Pearlike2_Foo', 'Pearlike2_Foo', '->loadClass() loads Pearlike2_Foo class'),
);
return [
['\\Namespaced2\\Foo', 'Namespaced2\\Foo', '->loadClass() loads Namespaced2\Foo class'],
['\\Pearlike2_Foo', 'Pearlike2_Foo', '->loadClass() loads Pearlike2_Foo class'],
];
}
/**
@@ -75,9 +75,9 @@ class ClassLoaderTest extends TestCase
public function getLoadNonexistentClassTests()
{
return array(
array('\\Pearlike3_Bar', '\\Pearlike3_Bar', '->loadClass() loads non existing Pearlike3_Bar class with a leading slash'),
);
return [
['\\Pearlike3_Bar', '\\Pearlike3_Bar', '->loadClass() loads non existing Pearlike3_Bar class with a leading slash'],
];
}
public function testAddPrefixSingle()
@@ -93,8 +93,8 @@ class ClassLoaderTest extends TestCase
public function testAddPrefixesSingle()
{
$loader = new ClassLoader();
$loader->addPrefixes(array('Foo' => array('foo', 'foo')));
$loader->addPrefixes(array('Foo' => array('foo')));
$loader->addPrefixes(['Foo' => ['foo', 'foo']]);
$loader->addPrefixes(['Foo' => ['foo']]);
$prefixes = $loader->getPrefixes();
$this->assertArrayHasKey('Foo', $prefixes);
$this->assertCount(1, $prefixes['Foo'], print_r($prefixes, true));
@@ -124,7 +124,7 @@ class ClassLoaderTest extends TestCase
$loader->setUseIncludePath(true);
$this->assertTrue($loader->getUseIncludePath());
set_include_path(__DIR__.'/Fixtures/includepath'.PATH_SEPARATOR.$includePath);
set_include_path(__DIR__.'/Fixtures/includepath'.\PATH_SEPARATOR.$includePath);
$this->assertEquals(__DIR__.\DIRECTORY_SEPARATOR.'Fixtures'.\DIRECTORY_SEPARATOR.'includepath'.\DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
@@ -139,19 +139,19 @@ class ClassLoaderTest extends TestCase
$loader = new ClassLoader();
$loader->addPrefix('Namespaced2\\', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures');
$loader->addPrefix('Pearlike2_', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures');
$loader->addPrefix('', array(__DIR__.\DIRECTORY_SEPARATOR.'Fixtures/fallback'));
$loader->addPrefix('', [__DIR__.\DIRECTORY_SEPARATOR.'Fixtures/fallback']);
$loader->loadClass($testClassName);
$this->assertTrue(class_exists($className), $message);
}
public function getLoadClassFromFallbackTests()
{
return array(
array('\\Namespaced2\\Baz', 'Namespaced2\\Baz', '->loadClass() loads Namespaced2\Baz class'),
array('\\Pearlike2_Baz', 'Pearlike2_Baz', '->loadClass() loads Pearlike2_Baz class'),
array('\\Namespaced2\\FooBar', 'Namespaced2\\FooBar', '->loadClass() loads Namespaced2\Baz class from fallback dir'),
array('\\Pearlike2_FooBar', 'Pearlike2_FooBar', '->loadClass() loads Pearlike2_Baz class from fallback dir'),
);
return [
['\\Namespaced2\\Baz', 'Namespaced2\\Baz', '->loadClass() loads Namespaced2\Baz class'],
['\\Pearlike2_Baz', 'Pearlike2_Baz', '->loadClass() loads Pearlike2_Baz class'],
['\\Namespaced2\\FooBar', 'Namespaced2\\FooBar', '->loadClass() loads Namespaced2\Baz class from fallback dir'],
['\\Pearlike2_FooBar', 'Pearlike2_FooBar', '->loadClass() loads Pearlike2_Baz class from fallback dir'],
];
}
/**
@@ -168,71 +168,71 @@ class ClassLoaderTest extends TestCase
public function getLoadClassNamespaceCollisionTests()
{
return array(
array(
array(
return [
[
[
'NamespaceCollision\\C' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
'NamespaceCollision\\C\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
),
],
'NamespaceCollision\C\Foo',
'->loadClass() loads NamespaceCollision\C\Foo from alpha.',
),
array(
array(
],
[
[
'NamespaceCollision\\C\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
'NamespaceCollision\\C' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
),
],
'NamespaceCollision\C\Bar',
'->loadClass() loads NamespaceCollision\C\Bar from alpha.',
),
array(
array(
],
[
[
'NamespaceCollision\\C' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
'NamespaceCollision\\C\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
),
],
'NamespaceCollision\C\B\Foo',
'->loadClass() loads NamespaceCollision\C\B\Foo from beta.',
),
array(
array(
],
[
[
'NamespaceCollision\\C\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
'NamespaceCollision\\C' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
),
],
'NamespaceCollision\C\B\Bar',
'->loadClass() loads NamespaceCollision\C\B\Bar from beta.',
),
array(
array(
],
[
[
'PrefixCollision_C_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
'PrefixCollision_C_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
),
],
'PrefixCollision_C_Foo',
'->loadClass() loads PrefixCollision_C_Foo from alpha.',
),
array(
array(
],
[
[
'PrefixCollision_C_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
'PrefixCollision_C_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
),
],
'PrefixCollision_C_Bar',
'->loadClass() loads PrefixCollision_C_Bar from alpha.',
),
array(
array(
],
[
[
'PrefixCollision_C_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
'PrefixCollision_C_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
),
],
'PrefixCollision_C_B_Foo',
'->loadClass() loads PrefixCollision_C_B_Foo from beta.',
),
array(
array(
],
[
[
'PrefixCollision_C_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/beta',
'PrefixCollision_C_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/alpha',
),
],
'PrefixCollision_C_B_Bar',
'->loadClass() loads PrefixCollision_C_B_Bar from beta.',
),
);
],
];
}
}

View File

@@ -74,8 +74,8 @@ class ClassMapGeneratorTest extends TestCase
public function getTestCreateMapTests()
{
$data = array(
array(__DIR__.'/Fixtures/Namespaced', array(
$data = [
[__DIR__.'/Fixtures/Namespaced', [
'Namespaced\\Bar' => realpath(__DIR__).'/Fixtures/Namespaced/Bar.php',
'Namespaced\\Foo' => realpath(__DIR__).'/Fixtures/Namespaced/Foo.php',
'Namespaced\\Baz' => realpath(__DIR__).'/Fixtures/Namespaced/Baz.php',
@@ -84,20 +84,20 @@ class ClassMapGeneratorTest extends TestCase
'Namespaced\\WithHaltCompiler' => realpath(__DIR__).'/Fixtures/Namespaced/WithHaltCompiler.php',
'Namespaced\\WithDirMagic' => realpath(__DIR__).'/Fixtures/Namespaced/WithDirMagic.php',
'Namespaced\\WithFileMagic' => realpath(__DIR__).'/Fixtures/Namespaced/WithFileMagic.php',
)),
array(__DIR__.'/Fixtures/beta/NamespaceCollision', array(
]],
[__DIR__.'/Fixtures/beta/NamespaceCollision', [
'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
'NamespaceCollision\\A\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Foo.php',
'NamespaceCollision\\C\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Bar.php',
'NamespaceCollision\\C\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Foo.php',
)),
array(__DIR__.'/Fixtures/Pearlike', array(
]],
[__DIR__.'/Fixtures/Pearlike', [
'Pearlike_Foo' => realpath(__DIR__).'/Fixtures/Pearlike/Foo.php',
'Pearlike_Bar' => realpath(__DIR__).'/Fixtures/Pearlike/Bar.php',
'Pearlike_Baz' => realpath(__DIR__).'/Fixtures/Pearlike/Baz.php',
'Pearlike_WithComments' => realpath(__DIR__).'/Fixtures/Pearlike/WithComments.php',
)),
array(__DIR__.'/Fixtures/classmap', array(
]],
[__DIR__.'/Fixtures/classmap', [
'Foo\\Bar\\A' => realpath(__DIR__).'/Fixtures/classmap/sameNsMultipleClasses.php',
'Foo\\Bar\\B' => realpath(__DIR__).'/Fixtures/classmap/sameNsMultipleClasses.php',
'A' => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
@@ -108,19 +108,19 @@ class ClassMapGeneratorTest extends TestCase
'ClassMap\\SomeInterface' => realpath(__DIR__).'/Fixtures/classmap/SomeInterface.php',
'ClassMap\\SomeParent' => realpath(__DIR__).'/Fixtures/classmap/SomeParent.php',
'ClassMap\\SomeClass' => realpath(__DIR__).'/Fixtures/classmap/SomeClass.php',
)),
array(__DIR__.'/Fixtures/php5.4', array(
]],
[__DIR__.'/Fixtures/php5.4', [
'TFoo' => __DIR__.'/Fixtures/php5.4/traits.php',
'CFoo' => __DIR__.'/Fixtures/php5.4/traits.php',
'Foo\\TBar' => __DIR__.'/Fixtures/php5.4/traits.php',
'Foo\\IBar' => __DIR__.'/Fixtures/php5.4/traits.php',
'Foo\\TFooBar' => __DIR__.'/Fixtures/php5.4/traits.php',
'Foo\\CBar' => __DIR__.'/Fixtures/php5.4/traits.php',
)),
array(__DIR__.'/Fixtures/php5.5', array(
]],
[__DIR__.'/Fixtures/php5.5', [
'ClassCons\\Foo' => __DIR__.'/Fixtures/php5.5/class_cons.php',
)),
);
]],
];
return $data;
}
@@ -130,12 +130,12 @@ class ClassMapGeneratorTest extends TestCase
$finder = new \Symfony\Component\Finder\Finder();
$finder->files()->in(__DIR__.'/Fixtures/beta/NamespaceCollision');
$this->assertEqualsNormalized(array(
$this->assertEqualsNormalized([
'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
'NamespaceCollision\\A\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Foo.php',
'NamespaceCollision\\C\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Bar.php',
'NamespaceCollision\\C\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Foo.php',
), ClassMapGenerator::createMap($finder));
], ClassMapGenerator::createMap($finder));
}
protected function assertEqualsNormalized($expected, $actual, $message = '')

View File

@@ -39,12 +39,12 @@ class Psr4ClassLoaderTest extends TestCase
*/
public function getLoadClassTests()
{
return array(
array('Acme\\DemoLib\\Foo'),
array('Acme\\DemoLib\\Class_With_Underscores'),
array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Foo'),
array('Acme\\DemoLib\\Lets\\Go\\Deeper\\Class_With_Underscores'),
);
return [
['Acme\\DemoLib\\Foo'],
['Acme\\DemoLib\\Class_With_Underscores'],
['Acme\\DemoLib\\Lets\\Go\\Deeper\\Foo'],
['Acme\\DemoLib\\Lets\\Go\\Deeper\\Class_With_Underscores'],
];
}
/**
@@ -67,9 +67,9 @@ class Psr4ClassLoaderTest extends TestCase
*/
public function getLoadNonexistentClassTests()
{
return array(
array('Acme\\DemoLib\\I_Do_Not_Exist'),
array('UnknownVendor\\SomeLib\\I_Do_Not_Exist'),
);
return [
['Acme\\DemoLib\\I_Do_Not_Exist'],
['UnknownVendor\\SomeLib\\I_Do_Not_Exist'],
];
}
}

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\WinCacheClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use `composer install --apcu-autoloader` instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\WinCacheClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use `composer install --apcu-autoloader` instead.', \E_USER_DEPRECATED);
/**
* WinCacheClassLoader implements a wrapping autoloader cached in WinCache.
@@ -87,7 +87,7 @@ class WinCacheClassLoader
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
spl_autoload_register([$this, 'loadClass'], true, $prepend);
}
/**
@@ -95,7 +95,7 @@ class WinCacheClassLoader
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
spl_autoload_unregister([$this, 'loadClass']);
}
/**
@@ -112,6 +112,8 @@ class WinCacheClassLoader
return true;
}
return null;
}
/**
@@ -137,6 +139,6 @@ class WinCacheClassLoader
*/
public function __call($method, $args)
{
return \call_user_func_array(array($this->decorated, $method), $args);
return \call_user_func_array([$this->decorated, $method], $args);
}
}

View File

@@ -11,7 +11,7 @@
namespace Symfony\Component\ClassLoader;
@trigger_error('The '.__NAMESPACE__.'\XcacheClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use `composer install --apcu-autoloader` instead.', E_USER_DEPRECATED);
@trigger_error('The '.__NAMESPACE__.'\XcacheClassLoader class is deprecated since Symfony 3.3 and will be removed in 4.0. Use `composer install --apcu-autoloader` instead.', \E_USER_DEPRECATED);
/**
* XcacheClassLoader implements a wrapping autoloader cached in XCache for PHP 5.3.
@@ -81,7 +81,7 @@ class XcacheClassLoader
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
spl_autoload_register([$this, 'loadClass'], true, $prepend);
}
/**
@@ -89,7 +89,7 @@ class XcacheClassLoader
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
spl_autoload_unregister([$this, 'loadClass']);
}
/**
@@ -106,6 +106,8 @@ class XcacheClassLoader
return true;
}
return null;
}
/**
@@ -132,6 +134,6 @@ class XcacheClassLoader
*/
public function __call($method, $args)
{
return \call_user_func_array(array($this->decorated, $method), $args);
return \call_user_func_array([$this->decorated, $method], $args);
}
}

View File

@@ -31,10 +31,5 @@
"exclude-from-classmap": [
"/Tests/"
]
},
"extra": {
"branch-alias": {
"dev-master": "3.4-dev"
}
}
}