Merge branch '5.0'
* 5.0: Fix CS Fix CS Fix CS
This commit is contained in:
commit
d5bbdca755
@ -247,7 +247,7 @@ class Deprecation
|
||||
foreach (get_declared_classes() as $class) {
|
||||
if ('C' === $class[0] && 0 === strpos($class, 'ComposerAutoloaderInit')) {
|
||||
$r = new \ReflectionClass($class);
|
||||
$v = \dirname(\dirname($r->getFileName()));
|
||||
$v = \dirname($r->getFileName(), 2);
|
||||
if (file_exists($v.'/composer/installed.json')) {
|
||||
self::$vendors[] = $v;
|
||||
$loader = require $v.'/autoload.php';
|
||||
|
@ -18,15 +18,15 @@ class DnsMockTest extends TestCase
|
||||
{
|
||||
protected function tearDown(): void
|
||||
{
|
||||
DnsMock::withMockedHosts(array());
|
||||
DnsMock::withMockedHosts([]);
|
||||
}
|
||||
|
||||
public function testCheckdnsrr()
|
||||
{
|
||||
DnsMock::withMockedHosts(array('example.com' => array(array('type' => 'MX'))));
|
||||
DnsMock::withMockedHosts(['example.com' => [['type' => 'MX']]]);
|
||||
$this->assertTrue(DnsMock::checkdnsrr('example.com'));
|
||||
|
||||
DnsMock::withMockedHosts(array('example.com' => array(array('type' => 'A'))));
|
||||
DnsMock::withMockedHosts(['example.com' => [['type' => 'A']]]);
|
||||
$this->assertFalse(DnsMock::checkdnsrr('example.com'));
|
||||
$this->assertTrue(DnsMock::checkdnsrr('example.com', 'a'));
|
||||
$this->assertTrue(DnsMock::checkdnsrr('example.com', 'any'));
|
||||
@ -35,34 +35,34 @@ class DnsMockTest extends TestCase
|
||||
|
||||
public function testGetmxrr()
|
||||
{
|
||||
DnsMock::withMockedHosts(array(
|
||||
'example.com' => array(array(
|
||||
DnsMock::withMockedHosts([
|
||||
'example.com' => [[
|
||||
'type' => 'MX',
|
||||
'host' => 'mx.example.com',
|
||||
'pri' => 10,
|
||||
)),
|
||||
));
|
||||
]],
|
||||
]);
|
||||
|
||||
$this->assertFalse(DnsMock::getmxrr('foobar.com', $mxhosts, $weight));
|
||||
$this->assertTrue(DnsMock::getmxrr('example.com', $mxhosts, $weight));
|
||||
$this->assertSame(array('mx.example.com'), $mxhosts);
|
||||
$this->assertSame(array(10), $weight);
|
||||
$this->assertSame(['mx.example.com'], $mxhosts);
|
||||
$this->assertSame([10], $weight);
|
||||
}
|
||||
|
||||
public function testGethostbyaddr()
|
||||
{
|
||||
DnsMock::withMockedHosts(array(
|
||||
'example.com' => array(
|
||||
array(
|
||||
DnsMock::withMockedHosts([
|
||||
'example.com' => [
|
||||
[
|
||||
'type' => 'A',
|
||||
'ip' => '1.2.3.4',
|
||||
),
|
||||
array(
|
||||
],
|
||||
[
|
||||
'type' => 'AAAA',
|
||||
'ipv6' => '::12',
|
||||
),
|
||||
),
|
||||
));
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->assertSame('::21', DnsMock::gethostbyaddr('::21'));
|
||||
$this->assertSame('example.com', DnsMock::gethostbyaddr('::12'));
|
||||
@ -71,18 +71,18 @@ class DnsMockTest extends TestCase
|
||||
|
||||
public function testGethostbyname()
|
||||
{
|
||||
DnsMock::withMockedHosts(array(
|
||||
'example.com' => array(
|
||||
array(
|
||||
DnsMock::withMockedHosts([
|
||||
'example.com' => [
|
||||
[
|
||||
'type' => 'AAAA',
|
||||
'ipv6' => '::12',
|
||||
),
|
||||
array(
|
||||
],
|
||||
[
|
||||
'type' => 'A',
|
||||
'ip' => '1.2.3.4',
|
||||
),
|
||||
),
|
||||
));
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->assertSame('foobar.com', DnsMock::gethostbyname('foobar.com'));
|
||||
$this->assertSame('1.2.3.4', DnsMock::gethostbyname('example.com'));
|
||||
@ -90,59 +90,59 @@ class DnsMockTest extends TestCase
|
||||
|
||||
public function testGethostbynamel()
|
||||
{
|
||||
DnsMock::withMockedHosts(array(
|
||||
'example.com' => array(
|
||||
array(
|
||||
DnsMock::withMockedHosts([
|
||||
'example.com' => [
|
||||
[
|
||||
'type' => 'A',
|
||||
'ip' => '1.2.3.4',
|
||||
),
|
||||
array(
|
||||
],
|
||||
[
|
||||
'type' => 'A',
|
||||
'ip' => '2.3.4.5',
|
||||
),
|
||||
),
|
||||
));
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->assertFalse(DnsMock::gethostbynamel('foobar.com'));
|
||||
$this->assertSame(array('1.2.3.4', '2.3.4.5'), DnsMock::gethostbynamel('example.com'));
|
||||
$this->assertSame(['1.2.3.4', '2.3.4.5'], DnsMock::gethostbynamel('example.com'));
|
||||
}
|
||||
|
||||
public function testDnsGetRecord()
|
||||
{
|
||||
DnsMock::withMockedHosts(array(
|
||||
'example.com' => array(
|
||||
array(
|
||||
DnsMock::withMockedHosts([
|
||||
'example.com' => [
|
||||
[
|
||||
'type' => 'A',
|
||||
'ip' => '1.2.3.4',
|
||||
),
|
||||
array(
|
||||
],
|
||||
[
|
||||
'type' => 'PTR',
|
||||
'ip' => '2.3.4.5',
|
||||
),
|
||||
),
|
||||
));
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$records = array(
|
||||
array(
|
||||
$records = [
|
||||
[
|
||||
'host' => 'example.com',
|
||||
'class' => 'IN',
|
||||
'ttl' => 1,
|
||||
'type' => 'A',
|
||||
'ip' => '1.2.3.4',
|
||||
),
|
||||
$ptr = array(
|
||||
],
|
||||
$ptr = [
|
||||
'host' => 'example.com',
|
||||
'class' => 'IN',
|
||||
'ttl' => 1,
|
||||
'type' => 'PTR',
|
||||
'ip' => '2.3.4.5',
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
|
||||
$this->assertFalse(DnsMock::dns_get_record('foobar.com'));
|
||||
$this->assertSame($records, DnsMock::dns_get_record('example.com'));
|
||||
$this->assertSame($records, DnsMock::dns_get_record('example.com', DNS_ALL));
|
||||
$this->assertSame($records, DnsMock::dns_get_record('example.com', DNS_A | DNS_PTR));
|
||||
$this->assertSame(array($ptr), DnsMock::dns_get_record('example.com', DNS_PTR));
|
||||
$this->assertSame([$ptr], DnsMock::dns_get_record('example.com', DNS_PTR));
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
||||
error_reporting(-1);
|
||||
|
||||
global $argv, $argc;
|
||||
$argv = isset($_SERVER['argv']) ? $_SERVER['argv'] : array();
|
||||
$argv = isset($_SERVER['argv']) ? $_SERVER['argv'] : [];
|
||||
$argc = isset($_SERVER['argc']) ? $_SERVER['argc'] : 0;
|
||||
$getEnvVar = function ($name, $default = false) use ($argv) {
|
||||
if (false !== $value = getenv($name)) {
|
||||
@ -130,11 +130,11 @@ if ('phpdbg' === PHP_SAPI) {
|
||||
$PHP .= ' -qrr';
|
||||
}
|
||||
|
||||
$defaultEnvs = array(
|
||||
$defaultEnvs = [
|
||||
'COMPOSER' => 'composer.json',
|
||||
'COMPOSER_VENDOR_DIR' => 'vendor',
|
||||
'COMPOSER_BIN_DIR' => 'bin',
|
||||
);
|
||||
];
|
||||
|
||||
foreach ($defaultEnvs as $envName => $envValue) {
|
||||
if ($envValue !== getenv($envName)) {
|
||||
@ -147,21 +147,21 @@ $COMPOSER = file_exists($COMPOSER = $oldPwd.'/composer.phar')
|
||||
|| ($COMPOSER = rtrim('\\' === DIRECTORY_SEPARATOR ? preg_replace('/[\r\n].*/', '', `where.exe composer.phar`) : `which composer.phar 2> /dev/null`))
|
||||
|| ($COMPOSER = rtrim('\\' === DIRECTORY_SEPARATOR ? preg_replace('/[\r\n].*/', '', `where.exe composer`) : `which composer 2> /dev/null`))
|
||||
|| file_exists($COMPOSER = rtrim('\\' === DIRECTORY_SEPARATOR ? `git rev-parse --show-toplevel 2> NUL` : `git rev-parse --show-toplevel 2> /dev/null`).DIRECTORY_SEPARATOR.'composer.phar')
|
||||
? (file_get_contents($COMPOSER, false, null, 0, 18) === '#!/usr/bin/env php' ? $PHP : '').' '.escapeshellarg($COMPOSER) // detect shell wrappers by looking at the shebang
|
||||
? ('#!/usr/bin/env php' === file_get_contents($COMPOSER, false, null, 0, 18) ? $PHP : '').' '.escapeshellarg($COMPOSER) // detect shell wrappers by looking at the shebang
|
||||
: 'composer';
|
||||
|
||||
$SYMFONY_PHPUNIT_REMOVE = $getEnvVar('SYMFONY_PHPUNIT_REMOVE', 'phpspec/prophecy'.($PHPUNIT_VERSION < 6.0 ? ' symfony/yaml': ''));
|
||||
$configurationHash = md5(implode(PHP_EOL, array(md5_file(__FILE__), $SYMFONY_PHPUNIT_REMOVE, (int) $PHPUNIT_REMOVE_RETURN_TYPEHINT)));
|
||||
$PHPUNIT_VERSION_DIR=sprintf('phpunit-%s-%d', $PHPUNIT_VERSION, $PHPUNIT_REMOVE_RETURN_TYPEHINT);
|
||||
$SYMFONY_PHPUNIT_REMOVE = $getEnvVar('SYMFONY_PHPUNIT_REMOVE', 'phpspec/prophecy'.($PHPUNIT_VERSION < 6.0 ? ' symfony/yaml' : ''));
|
||||
$configurationHash = md5(implode(PHP_EOL, [md5_file(__FILE__), $SYMFONY_PHPUNIT_REMOVE, (int) $PHPUNIT_REMOVE_RETURN_TYPEHINT]));
|
||||
$PHPUNIT_VERSION_DIR = sprintf('phpunit-%s-%d', $PHPUNIT_VERSION, $PHPUNIT_REMOVE_RETURN_TYPEHINT);
|
||||
if (!file_exists("$PHPUNIT_DIR/$PHPUNIT_VERSION_DIR/phpunit") || $configurationHash !== @file_get_contents("$PHPUNIT_DIR/.$PHPUNIT_VERSION_DIR.md5")) {
|
||||
// Build a standalone phpunit without symfony/yaml nor prophecy by default
|
||||
|
||||
@mkdir($PHPUNIT_DIR, 0777, true);
|
||||
chdir($PHPUNIT_DIR);
|
||||
if (file_exists("$PHPUNIT_VERSION_DIR")) {
|
||||
passthru(sprintf('\\' === DIRECTORY_SEPARATOR ? 'rmdir /S /Q %s > NUL': 'rm -rf %s', "$PHPUNIT_VERSION_DIR.old"));
|
||||
passthru(sprintf('\\' === DIRECTORY_SEPARATOR ? 'rmdir /S /Q %s > NUL' : 'rm -rf %s', "$PHPUNIT_VERSION_DIR.old"));
|
||||
rename("$PHPUNIT_VERSION_DIR", "$PHPUNIT_VERSION_DIR.old");
|
||||
passthru(sprintf('\\' === DIRECTORY_SEPARATOR ? 'rmdir /S /Q %s': 'rm -rf %s', "$PHPUNIT_VERSION_DIR.old"));
|
||||
passthru(sprintf('\\' === DIRECTORY_SEPARATOR ? 'rmdir /S /Q %s' : 'rm -rf %s', "$PHPUNIT_VERSION_DIR.old"));
|
||||
}
|
||||
$passthruOrFail("$COMPOSER create-project --no-install --prefer-dist --no-scripts --no-plugins --no-progress --ansi phpunit/phpunit $PHPUNIT_VERSION_DIR \"$PHPUNIT_VERSION.*\"");
|
||||
@copy("$PHPUNIT_VERSION_DIR/phpunit.xsd", 'phpunit.xsd');
|
||||
@ -187,7 +187,7 @@ if (!file_exists("$PHPUNIT_DIR/$PHPUNIT_VERSION_DIR/phpunit") || $configurationH
|
||||
putenv("COMPOSER_ROOT_VERSION=$PHPUNIT_VERSION.99");
|
||||
$q = '\\' === DIRECTORY_SEPARATOR ? '"' : '';
|
||||
// --no-suggest is not in the list to keep compat with composer 1.0, which is shipped with Ubuntu 16.04LTS
|
||||
$exit = proc_close(proc_open("$q$COMPOSER install --no-dev --prefer-dist --no-progress --ansi$q", array(), $p, getcwd()));
|
||||
$exit = proc_close(proc_open("$q$COMPOSER install --no-dev --prefer-dist --no-progress --ansi$q", [], $p, getcwd()));
|
||||
putenv('COMPOSER_ROOT_VERSION'.(false !== $prevRoot ? '='.$prevRoot : ''));
|
||||
if ($exit) {
|
||||
exit($exit);
|
||||
@ -233,13 +233,20 @@ EOPHP
|
||||
}
|
||||
|
||||
if ($PHPUNIT_VERSION < 8.0) {
|
||||
$argv = array_filter($argv, function ($v) use (&$argc) { if ('--do-not-cache-result' !== $v) return true; --$argc; return false; });
|
||||
$argv = array_filter($argv, function ($v) use (&$argc) {
|
||||
if ('--do-not-cache-result' !== $v) {
|
||||
return true;
|
||||
}
|
||||
--$argc;
|
||||
|
||||
return false;
|
||||
});
|
||||
} elseif (filter_var(getenv('SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE'), FILTER_VALIDATE_BOOLEAN)) {
|
||||
$argv[] = '--do-not-cache-result';
|
||||
++$argc;
|
||||
}
|
||||
|
||||
$components = array();
|
||||
$components = [];
|
||||
$cmd = array_map('escapeshellarg', $argv);
|
||||
$exit = 0;
|
||||
|
||||
@ -274,7 +281,7 @@ if ('\\' === DIRECTORY_SEPARATOR) {
|
||||
|
||||
if ($components) {
|
||||
$skippedTests = isset($_SERVER['SYMFONY_PHPUNIT_SKIPPED_TESTS']) ? $_SERVER['SYMFONY_PHPUNIT_SKIPPED_TESTS'] : false;
|
||||
$runningProcs = array();
|
||||
$runningProcs = [];
|
||||
|
||||
foreach ($components as $component) {
|
||||
// Run phpunit tests in parallel
|
||||
@ -285,7 +292,7 @@ if ($components) {
|
||||
|
||||
$c = escapeshellarg($component);
|
||||
|
||||
if ($proc = proc_open(sprintf($cmd, $c, " > $c/phpunit.stdout 2> $c/phpunit.stderr"), array(), $pipes)) {
|
||||
if ($proc = proc_open(sprintf($cmd, $c, " > $c/phpunit.stdout 2> $c/phpunit.stderr"), [], $pipes)) {
|
||||
$runningProcs[$component] = $proc;
|
||||
} else {
|
||||
$exit = 1;
|
||||
@ -295,7 +302,7 @@ if ($components) {
|
||||
|
||||
while ($runningProcs) {
|
||||
usleep(300000);
|
||||
$terminatedProcs = array();
|
||||
$terminatedProcs = [];
|
||||
foreach ($runningProcs as $component => $proc) {
|
||||
$procStatus = proc_get_status($proc);
|
||||
if (!$procStatus['running']) {
|
||||
@ -306,7 +313,7 @@ if ($components) {
|
||||
}
|
||||
|
||||
foreach ($terminatedProcs as $component => $procStatus) {
|
||||
foreach (array('out', 'err') as $file) {
|
||||
foreach (['out', 'err'] as $file) {
|
||||
$file = "$component/phpunit.std$file";
|
||||
readfile($file);
|
||||
unlink($file);
|
||||
@ -316,7 +323,7 @@ if ($components) {
|
||||
// STATUS_STACK_BUFFER_OVERRUN (-1073740791/0xC0000409)
|
||||
// STATUS_ACCESS_VIOLATION (-1073741819/0xC0000005)
|
||||
// STATUS_HEAP_CORRUPTION (-1073740940/0xC0000374)
|
||||
if ($procStatus && ('\\' !== DIRECTORY_SEPARATOR || !extension_loaded('apcu') || !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN) || !in_array($procStatus, array(-1073740791, -1073741819, -1073740940)))) {
|
||||
if ($procStatus && ('\\' !== DIRECTORY_SEPARATOR || !extension_loaded('apcu') || !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN) || !in_array($procStatus, [-1073740791, -1073741819, -1073740940]))) {
|
||||
$exit = $procStatus;
|
||||
echo "\033[41mKO\033[0m $component\n\n";
|
||||
} else {
|
||||
@ -326,9 +333,11 @@ if ($components) {
|
||||
}
|
||||
} elseif (!isset($argv[1]) || 'install' !== $argv[1] || file_exists('install')) {
|
||||
if (!class_exists('SymfonyBlacklistSimplePhpunit', false)) {
|
||||
class SymfonyBlacklistSimplePhpunit {}
|
||||
class SymfonyBlacklistSimplePhpunit
|
||||
{
|
||||
}
|
||||
}
|
||||
array_splice($argv, 1, 0, array('--colors=always'));
|
||||
array_splice($argv, 1, 0, ['--colors=always']);
|
||||
$_SERVER['argv'] = $argv;
|
||||
$_SERVER['argc'] = ++$argc;
|
||||
include "$PHPUNIT_DIR/$PHPUNIT_VERSION_DIR/phpunit";
|
||||
|
@ -32,9 +32,6 @@ final class DumpNode extends Node
|
||||
$this->varPrefix = $varPrefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function compile(Compiler $compiler): void
|
||||
{
|
||||
$compiler
|
||||
|
@ -107,8 +107,6 @@ final class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getPriority(): int
|
||||
{
|
||||
|
@ -97,8 +97,6 @@ final class TranslationNodeVisitor extends AbstractNodeVisitor
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getPriority(): int
|
||||
{
|
||||
|
@ -79,7 +79,7 @@ abstract class AbstractController implements ServiceSubscriberInterface
|
||||
protected function getParameter(string $name)
|
||||
{
|
||||
if (!$this->container->has('parameter_bag')) {
|
||||
throw new ServiceNotFoundException('parameter_bag', null, null, [], sprintf('The "%s::getParameter()" method is missing a parameter bag to work properly. Did you forget to register your controller as a service subscriber? This can be fixed either by using autoconfiguration or by manually wiring a "parameter_bag" in the service locator passed to the controller.', \get_class($this)));
|
||||
throw new ServiceNotFoundException('parameter_bag', null, null, [], sprintf('The "%s::getParameter()" method is missing a parameter bag to work properly. Did you forget to register your controller as a service subscriber? This can be fixed either by using autoconfiguration or by manually wiring a "parameter_bag" in the service locator passed to the controller.', static::class));
|
||||
}
|
||||
|
||||
return $this->container->get('parameter_bag')->get($name);
|
||||
|
@ -1433,7 +1433,7 @@ abstract class FrameworkExtensionTest extends TestCase
|
||||
|
||||
protected function createContainerFromFile($file, $data = [], $resetCompilerPasses = true, $compile = true)
|
||||
{
|
||||
$cacheKey = md5(\get_class($this).$file.serialize($data));
|
||||
$cacheKey = md5(static::class.$file.serialize($data));
|
||||
if ($compile && isset(self::$containerCache[$cacheKey])) {
|
||||
return self::$containerCache[$cacheKey];
|
||||
}
|
||||
|
@ -69,6 +69,6 @@ abstract class AbstractWebTestCase extends BaseWebTestCase
|
||||
|
||||
protected static function getVarDir()
|
||||
{
|
||||
return 'FB'.substr(strrchr(\get_called_class(), '\\'), 1);
|
||||
return 'FB'.substr(strrchr(static::class, '\\'), 1);
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,6 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpKernel\Event\RequestEvent;
|
||||
use Symfony\Component\Security\Core\Exception\LazyResponseException;
|
||||
use Symfony\Component\Security\Http\Firewall\AbstractListener;
|
||||
use Symfony\Component\VarDumper\Caster\ClassStub;
|
||||
|
||||
/**
|
||||
* Wraps a lazy security listener.
|
||||
|
@ -424,7 +424,7 @@ abstract class CompleteConfigurationTest extends TestCase
|
||||
],
|
||||
'JMS\FooBundle\Entity\User7' => [
|
||||
'class' => $sodium ? SodiumPasswordEncoder::class : NativePasswordEncoder::class,
|
||||
'arguments' => $sodium ? [256, 1] : [1, 262144, null, \PASSWORD_ARGON2I],
|
||||
'arguments' => $sodium ? [256, 1] : [1, 262144, null, PASSWORD_ARGON2I],
|
||||
],
|
||||
]], $container->getDefinition('security.encoder_factory.generic')->getArguments());
|
||||
}
|
||||
@ -534,7 +534,7 @@ abstract class CompleteConfigurationTest extends TestCase
|
||||
],
|
||||
'JMS\FooBundle\Entity\User7' => [
|
||||
'class' => NativePasswordEncoder::class,
|
||||
'arguments' => [null, null, 15, \PASSWORD_BCRYPT],
|
||||
'arguments' => [null, null, 15, PASSWORD_BCRYPT],
|
||||
],
|
||||
]], $container->getDefinition('security.encoder_factory.generic')->getArguments());
|
||||
}
|
||||
|
@ -69,6 +69,6 @@ abstract class AbstractWebTestCase extends BaseWebTestCase
|
||||
|
||||
protected static function getVarDir()
|
||||
{
|
||||
return 'SB'.substr(strrchr(\get_called_class(), '\\'), 1);
|
||||
return 'SB'.substr(strrchr(static::class, '\\'), 1);
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,6 @@
|
||||
namespace Symfony\Bundle\SecurityBundle\Tests\Functional\Bundle;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Compiler\CheckTypeDeclarationsPass;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\Compiler\PassConfig;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||
|
@ -11,7 +11,6 @@
|
||||
|
||||
namespace Symfony\Bundle\TwigBundle\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Bridge\Twig\Extension\AssetExtension;
|
||||
use Symfony\Component\DependencyInjection\Alias;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
|
@ -427,7 +427,7 @@ class PdoAdapter extends AbstractAdapter implements PruneableInterface
|
||||
} else {
|
||||
switch ($this->driver = $this->conn->getDriver()->getName()) {
|
||||
case 'mysqli':
|
||||
throw new \LogicException(sprintf('The adapter "%s" does not support the mysqli driver, use pdo_mysql instead.', \get_class($this)));
|
||||
throw new \LogicException(sprintf('The adapter "%s" does not support the mysqli driver, use pdo_mysql instead.', static::class));
|
||||
case 'pdo_mysql':
|
||||
case 'drizzle_pdo_mysql':
|
||||
$this->driver = 'mysql';
|
||||
|
@ -80,7 +80,7 @@ class RedisTagAwareAdapter extends AbstractTagAwareAdapter
|
||||
|
||||
foreach (\is_array($compression) ? $compression : [$compression] as $c) {
|
||||
if (\Redis::COMPRESSION_NONE !== $c) {
|
||||
throw new InvalidArgumentException(sprintf('phpredis compression must be disabled when using "%s", use "%s" instead.', \get_class($this), DeflateMarshaller::class));
|
||||
throw new InvalidArgumentException(sprintf('phpredis compression must be disabled when using "%s", use "%s" instead.', static::class, DeflateMarshaller::class));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ class ApcuAdapterTest extends AdapterTestCase
|
||||
|
||||
public function testVersion()
|
||||
{
|
||||
$namespace = str_replace('\\', '.', \get_class($this));
|
||||
$namespace = str_replace('\\', '.', static::class);
|
||||
|
||||
$pool1 = new ApcuAdapter($namespace, 0, 'p1');
|
||||
|
||||
@ -80,7 +80,7 @@ class ApcuAdapterTest extends AdapterTestCase
|
||||
|
||||
public function testNamespace()
|
||||
{
|
||||
$namespace = str_replace('\\', '.', \get_class($this));
|
||||
$namespace = str_replace('\\', '.', static::class);
|
||||
|
||||
$pool1 = new ApcuAdapter($namespace.'_1', 0, 'p1');
|
||||
|
||||
|
@ -52,7 +52,7 @@ trait ContractsTrait
|
||||
private function doGet(AdapterInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null)
|
||||
{
|
||||
if (0 > $beta = $beta ?? 1.0) {
|
||||
throw new InvalidArgumentException(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', \get_class($this), $beta));
|
||||
throw new InvalidArgumentException(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta));
|
||||
}
|
||||
|
||||
static $setMetadata;
|
||||
|
@ -508,7 +508,7 @@ abstract class BaseNode implements NodeInterface
|
||||
private function doValidateType($value): void
|
||||
{
|
||||
if (null !== $this->handlingPlaceholder && !$this->allowPlaceholders()) {
|
||||
$e = new InvalidTypeException(sprintf('A dynamic value is not compatible with a "%s" node type at path "%s".', \get_class($this), $this->getPath()));
|
||||
$e = new InvalidTypeException(sprintf('A dynamic value is not compatible with a "%s" node type at path "%s".', static::class, $this->getPath()));
|
||||
$e->setPath($this->getPath());
|
||||
|
||||
throw $e;
|
||||
|
@ -58,7 +58,7 @@ class Command
|
||||
*/
|
||||
public static function getDefaultName()
|
||||
{
|
||||
$class = \get_called_class();
|
||||
$class = static::class;
|
||||
$r = new \ReflectionProperty($class, 'defaultName');
|
||||
|
||||
return $class === $r->class ? static::$defaultName : null;
|
||||
@ -258,7 +258,7 @@ class Command
|
||||
$statusCode = $this->execute($input, $output);
|
||||
|
||||
if (!\is_int($statusCode)) {
|
||||
throw new \TypeError(sprintf('Return value of "%s::execute()" must be of the type int, %s returned.', \get_class($this), \gettype($statusCode)));
|
||||
throw new \TypeError(sprintf('Return value of "%s::execute()" must be of the type int, %s returned.', static::class, \gettype($statusCode)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -347,7 +347,7 @@ class Command
|
||||
public function getDefinition()
|
||||
{
|
||||
if (null === $this->definition) {
|
||||
throw new LogicException(sprintf('Command class "%s" is not correctly initialized. You probably forgot to call the parent constructor.', \get_class($this)));
|
||||
throw new LogicException(sprintf('Command class "%s" is not correctly initialized. You probably forgot to call the parent constructor.', static::class));
|
||||
}
|
||||
|
||||
return $this->definition;
|
||||
|
@ -883,8 +883,7 @@ class ApplicationTest extends TestCase
|
||||
$application = new Application();
|
||||
$application->setAutoExit(false);
|
||||
$application->register('foo')->setCode(function () {
|
||||
throw new class('') extends \InvalidArgumentException {
|
||||
};
|
||||
throw new class('') extends \InvalidArgumentException { };
|
||||
});
|
||||
$tester = new ApplicationTester($application);
|
||||
|
||||
@ -894,8 +893,7 @@ class ApplicationTest extends TestCase
|
||||
$application = new Application();
|
||||
$application->setAutoExit(false);
|
||||
$application->register('foo')->setCode(function () {
|
||||
throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() {
|
||||
})));
|
||||
throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() { })));
|
||||
});
|
||||
$tester = new ApplicationTester($application);
|
||||
|
||||
@ -908,8 +906,7 @@ class ApplicationTest extends TestCase
|
||||
$application = new Application();
|
||||
$application->setAutoExit(false);
|
||||
$application->register('foo')->setCode(function () {
|
||||
throw new class('') extends \InvalidArgumentException {
|
||||
};
|
||||
throw new class('') extends \InvalidArgumentException { };
|
||||
});
|
||||
$tester = new ApplicationTester($application);
|
||||
|
||||
@ -919,8 +916,7 @@ class ApplicationTest extends TestCase
|
||||
$application = new Application();
|
||||
$application->setAutoExit(false);
|
||||
$application->register('foo')->setCode(function () {
|
||||
throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() {
|
||||
})));
|
||||
throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() { })));
|
||||
});
|
||||
$tester = new ApplicationTester($application);
|
||||
|
||||
|
@ -31,7 +31,7 @@ abstract class AbstractNode implements NodeInterface
|
||||
public function getNodeName(): string
|
||||
{
|
||||
if (null === $this->nodeName) {
|
||||
$this->nodeName = preg_replace('~.*\\\\([^\\\\]+)Node$~', '$1', \get_called_class());
|
||||
$this->nodeName = preg_replace('~.*\\\\([^\\\\]+)Node$~', '$1', static::class);
|
||||
}
|
||||
|
||||
return $this->nodeName;
|
||||
|
@ -209,7 +209,7 @@ abstract class AbstractRecursivePass implements CompilerPassInterface
|
||||
$arg = $this->processValue(new Reference($id));
|
||||
$this->inExpression = false;
|
||||
if (!$arg instanceof Reference) {
|
||||
throw new RuntimeException(sprintf('"%s::processValue()" must return a Reference when processing an expression, %s returned for service("%s").', \get_class($this), \is_object($arg) ? \get_class($arg) : \gettype($arg), $id));
|
||||
throw new RuntimeException(sprintf('"%s::processValue()" must return a Reference when processing an expression, %s returned for service("%s").', static::class, \is_object($arg) ? \get_class($arg) : \gettype($arg), $id));
|
||||
}
|
||||
$arg = sprintf('"%s"', $arg);
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ abstract class Extension implements ExtensionInterface, ConfigurationExtensionIn
|
||||
*/
|
||||
public function getAlias()
|
||||
{
|
||||
$className = \get_class($this);
|
||||
$className = static::class;
|
||||
if ('Extension' != substr($className, -9)) {
|
||||
throw new BadMethodCallException('This extension does not follow the naming convention; you must overwrite the getAlias() method.');
|
||||
}
|
||||
@ -80,7 +80,7 @@ abstract class Extension implements ExtensionInterface, ConfigurationExtensionIn
|
||||
*/
|
||||
public function getConfiguration(array $config, ContainerBuilder $container)
|
||||
{
|
||||
$class = \get_class($this);
|
||||
$class = static::class;
|
||||
|
||||
if (false !== strpos($class, "\0")) {
|
||||
return null; // ignore anonymous classes
|
||||
|
@ -36,7 +36,7 @@ abstract class AbstractConfigurator
|
||||
return $this->{'set'.$method}(...$args);
|
||||
}
|
||||
|
||||
throw new \BadMethodCallException(sprintf('Call to undefined method %s::%s()', \get_class($this), $method));
|
||||
throw new \BadMethodCallException(sprintf('Call to undefined method %s::%s()', static::class, $method));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -57,7 +57,7 @@ abstract class FileLoader extends BaseFileLoader
|
||||
if ($ignoreNotFound = 'not_found' === $ignoreErrors) {
|
||||
$args[2] = false;
|
||||
} elseif (!\is_bool($ignoreErrors)) {
|
||||
throw new \TypeError(sprintf('Invalid argument $ignoreErrors provided to %s::import(): boolean or "not_found" expected, %s given.', \get_class($this), \gettype($ignoreErrors)));
|
||||
throw new \TypeError(sprintf('Invalid argument $ignoreErrors provided to %s::import(): boolean or "not_found" expected, %s given.', static::class, \gettype($ignoreErrors)));
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -49,7 +49,7 @@ class IniFileLoader extends FileLoader
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function supports($resource, string $type = null)
|
||||
public function supports($resource, string $type = null)
|
||||
{
|
||||
if (!\is_string($resource)) {
|
||||
return false;
|
||||
|
@ -37,7 +37,7 @@ class EventDispatcher implements EventDispatcherInterface
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
if (__CLASS__ === \get_class($this)) {
|
||||
if (__CLASS__ === static::class) {
|
||||
$this->optimized = [];
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ class Node
|
||||
$attributes[] = sprintf('%s: %s', $name, str_replace("\n", '', var_export($value, true)));
|
||||
}
|
||||
|
||||
$repr = [str_replace('Symfony\Component\ExpressionLanguage\Node\\', '', \get_class($this)).'('.implode(', ', $attributes)];
|
||||
$repr = [str_replace('Symfony\Component\ExpressionLanguage\Node\\', '', static::class).'('.implode(', ', $attributes)];
|
||||
|
||||
if (\count($this->nodes)) {
|
||||
foreach ($this->nodes as $node) {
|
||||
@ -79,7 +79,7 @@ class Node
|
||||
|
||||
public function toArray()
|
||||
{
|
||||
throw new \BadMethodCallException(sprintf('Dumping a "%s" instance is not supported yet.', \get_class($this)));
|
||||
throw new \BadMethodCallException(sprintf('Dumping a "%s" instance is not supported yet.', static::class));
|
||||
}
|
||||
|
||||
public function dump()
|
||||
|
@ -52,7 +52,7 @@ abstract class AbstractType implements FormTypeInterface
|
||||
*/
|
||||
public function getBlockPrefix()
|
||||
{
|
||||
return StringUtil::fqcnToBlockPrefix(\get_class($this)) ?: '';
|
||||
return StringUtil::fqcnToBlockPrefix(static::class) ?: '';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -120,7 +120,7 @@ abstract class AbstractLayoutTest extends FormIntegrationTestCase
|
||||
|
||||
protected function renderHelp(FormView $view)
|
||||
{
|
||||
$this->markTestSkipped(sprintf('%s::renderHelp() is not implemented.', \get_class($this)));
|
||||
$this->markTestSkipped(sprintf('%s::renderHelp() is not implemented.', static::class));
|
||||
}
|
||||
|
||||
abstract protected function renderErrors(FormView $view);
|
||||
|
@ -341,7 +341,7 @@ trait HttpClientTrait
|
||||
$flags = $flags ?? (JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT | JSON_PRESERVE_ZERO_FRACTION);
|
||||
|
||||
try {
|
||||
$value = json_encode($value, $flags | (\PHP_VERSION_ID >= 70300 ? \JSON_THROW_ON_ERROR : 0), $maxDepth);
|
||||
$value = json_encode($value, $flags | (\PHP_VERSION_ID >= 70300 ? JSON_THROW_ON_ERROR : 0), $maxDepth);
|
||||
} catch (\JsonException $e) {
|
||||
throw new InvalidArgumentException(sprintf('Invalid value for "json" option: %s.', $e->getMessage()));
|
||||
}
|
||||
|
@ -262,7 +262,7 @@ final class CurlResponse implements ResponseInterface
|
||||
$id = (int) $ch = $info['handle'];
|
||||
$waitFor = @curl_getinfo($ch, CURLINFO_PRIVATE) ?: '_0';
|
||||
|
||||
if (\in_array($result, [\CURLE_SEND_ERROR, \CURLE_RECV_ERROR, /*CURLE_HTTP2*/ 16, /*CURLE_HTTP2_STREAM*/ 92], true) && $waitFor[1] && 'C' !== $waitFor[0]) {
|
||||
if (\in_array($result, [CURLE_SEND_ERROR, CURLE_RECV_ERROR, /*CURLE_HTTP2*/ 16, /*CURLE_HTTP2_STREAM*/ 92], true) && $waitFor[1] && 'C' !== $waitFor[0]) {
|
||||
curl_multi_remove_handle($multi->handle, $ch);
|
||||
$waitFor[1] = (string) ((int) $waitFor[1] - 1); // decrement the retry counter
|
||||
curl_setopt($ch, CURLOPT_PRIVATE, $waitFor);
|
||||
@ -277,7 +277,7 @@ final class CurlResponse implements ResponseInterface
|
||||
}
|
||||
|
||||
$multi->handlesActivity[$id][] = null;
|
||||
$multi->handlesActivity[$id][] = \in_array($result, [\CURLE_OK, \CURLE_TOO_MANY_REDIRECTS], true) || '_0' === $waitFor || curl_getinfo($ch, CURLINFO_SIZE_DOWNLOAD) === curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD) ? null : new TransportException(sprintf('%s for "%s".', curl_strerror($result), curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)));
|
||||
$multi->handlesActivity[$id][] = \in_array($result, [CURLE_OK, CURLE_TOO_MANY_REDIRECTS], true) || '_0' === $waitFor || curl_getinfo($ch, CURLINFO_SIZE_DOWNLOAD) === curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD) ? null : new TransportException(sprintf('%s for "%s".', curl_strerror($result), curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)));
|
||||
}
|
||||
} finally {
|
||||
self::$performing = false;
|
||||
|
@ -151,7 +151,7 @@ trait ResponseTrait
|
||||
}
|
||||
|
||||
try {
|
||||
$content = json_decode($content, true, 512, JSON_BIGINT_AS_STRING | (\PHP_VERSION_ID >= 70300 ? \JSON_THROW_ON_ERROR : 0));
|
||||
$content = json_decode($content, true, 512, JSON_BIGINT_AS_STRING | (\PHP_VERSION_ID >= 70300 ? JSON_THROW_ON_ERROR : 0));
|
||||
} catch (\JsonException $e) {
|
||||
throw new JsonException($e->getMessage(), $e->getCode());
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ class RedirectResponse extends Response
|
||||
throw new \InvalidArgumentException(sprintf('The HTTP status code is not a redirect ("%s" given).', $status));
|
||||
}
|
||||
|
||||
if (301 == $status && !\array_key_exists('cache-control', array_change_key_case($headers, \CASE_LOWER))) {
|
||||
if (301 == $status && !\array_key_exists('cache-control', array_change_key_case($headers, CASE_LOWER))) {
|
||||
$this->headers->remove('cache-control');
|
||||
}
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ abstract class AbstractSessionHandler implements \SessionHandlerInterface, \Sess
|
||||
{
|
||||
if (!headers_sent() && filter_var(ini_get('session.use_cookies'), FILTER_VALIDATE_BOOLEAN)) {
|
||||
if (!$this->sessionName) {
|
||||
throw new \LogicException(sprintf('Session name cannot be empty, did you forget to call "parent::open()" in "%s"?.', \get_class($this)));
|
||||
throw new \LogicException(sprintf('Session name cannot be empty, did you forget to call "parent::open()" in "%s"?.', static::class));
|
||||
}
|
||||
$cookie = SessionUtils::popSessionCookie($this->sessionName, $sessionId);
|
||||
|
||||
|
@ -139,7 +139,7 @@ class NativeSessionStorage implements SessionStorageInterface
|
||||
return true;
|
||||
}
|
||||
|
||||
if (\PHP_SESSION_ACTIVE === session_status()) {
|
||||
if (PHP_SESSION_ACTIVE === session_status()) {
|
||||
throw new \RuntimeException('Failed to start the session: already started by PHP.');
|
||||
}
|
||||
|
||||
@ -202,7 +202,7 @@ class NativeSessionStorage implements SessionStorageInterface
|
||||
public function regenerate(bool $destroy = false, int $lifetime = null)
|
||||
{
|
||||
// Cannot regenerate the session ID for non-active sessions.
|
||||
if (\PHP_SESSION_ACTIVE !== session_status()) {
|
||||
if (PHP_SESSION_ACTIVE !== session_status()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -362,7 +362,7 @@ class NativeSessionStorage implements SessionStorageInterface
|
||||
*/
|
||||
public function setOptions(array $options)
|
||||
{
|
||||
if (headers_sent() || \PHP_SESSION_ACTIVE === session_status()) {
|
||||
if (headers_sent() || PHP_SESSION_ACTIVE === session_status()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -427,7 +427,7 @@ class NativeSessionStorage implements SessionStorageInterface
|
||||
}
|
||||
$this->saveHandler = $saveHandler;
|
||||
|
||||
if (headers_sent() || \PHP_SESSION_ACTIVE === session_status()) {
|
||||
if (headers_sent() || PHP_SESSION_ACTIVE === session_status()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ abstract class AbstractProxy
|
||||
*/
|
||||
public function isActive()
|
||||
{
|
||||
return \PHP_SESSION_ACTIVE === session_status();
|
||||
return PHP_SESSION_ACTIVE === session_status();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -61,12 +61,12 @@ class PhpBridgeSessionStorageTest extends TestCase
|
||||
{
|
||||
$storage = $this->getStorage();
|
||||
|
||||
$this->assertNotSame(\PHP_SESSION_ACTIVE, session_status());
|
||||
$this->assertNotSame(PHP_SESSION_ACTIVE, session_status());
|
||||
$this->assertFalse($storage->isStarted());
|
||||
|
||||
session_start();
|
||||
$this->assertTrue(isset($_SESSION));
|
||||
$this->assertSame(\PHP_SESSION_ACTIVE, session_status());
|
||||
$this->assertSame(PHP_SESSION_ACTIVE, session_status());
|
||||
// PHP session might have started, but the storage driver has not, so false is correct here
|
||||
$this->assertFalse($storage->isStarted());
|
||||
|
||||
|
@ -16,9 +16,6 @@ use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpKernel\Controller\ControllerReference;
|
||||
use Symfony\Component\HttpKernel\UriSigner;
|
||||
use Twig\Environment;
|
||||
use Twig\Error\LoaderError;
|
||||
use Twig\Loader\ExistsLoaderInterface;
|
||||
use Twig\Loader\SourceContextLoaderInterface;
|
||||
|
||||
/**
|
||||
* Implements the Hinclude rendering strategy.
|
||||
|
@ -393,8 +393,13 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
|
||||
*/
|
||||
protected function getContainerClass()
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
$class = \get_class($this);
|
||||
$class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? (get_parent_class($class) ?: key(class_implements($class))).str_replace('.', '_', ContainerBuilder::hash($class)) : $class;
|
||||
=======
|
||||
$class = static::class;
|
||||
$class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).str_replace('.', '_', ContainerBuilder::hash($class)) : $class;
|
||||
>>>>>>> 5.0
|
||||
$class = str_replace('\\', '_', $class).ucfirst($this->environment).($this->debug ? 'Debug' : '').'Container';
|
||||
if (!preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $class)) {
|
||||
throw new \InvalidArgumentException(sprintf('The environment "%s" contains invalid characters, it can only contain characters allowed in PHP class names.', $this->environment));
|
||||
@ -429,7 +434,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
|
||||
$cachePath = $cache->getPath();
|
||||
|
||||
// Silence E_WARNING to ignore "include" failures - don't use "@" to prevent silencing fatal errors
|
||||
$errorLevel = error_reporting(\E_ALL ^ \E_WARNING);
|
||||
$errorLevel = error_reporting(E_ALL ^ E_WARNING);
|
||||
|
||||
try {
|
||||
if (file_exists($cachePath) && \is_object($this->container = include $cachePath)
|
||||
|
@ -101,6 +101,6 @@ class Logger extends AbstractLogger
|
||||
$message = strtr($message, $replacements);
|
||||
}
|
||||
|
||||
return sprintf('%s [%s] %s', date(\DateTime::RFC3339), $level, $message).\PHP_EOL;
|
||||
return sprintf('%s [%s] %s', date(\DateTime::RFC3339), $level, $message).PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ class RequestDataCollectorTest extends TestCase
|
||||
'"Regular" callable',
|
||||
[$this, 'testControllerInspection'],
|
||||
[
|
||||
'class' => RequestDataCollectorTest::class,
|
||||
'class' => self::class,
|
||||
'method' => 'testControllerInspection',
|
||||
'file' => __FILE__,
|
||||
'line' => $r1->getStartLine(),
|
||||
|
@ -186,7 +186,7 @@ class LoggerTest extends TestCase
|
||||
public function testFormatter()
|
||||
{
|
||||
$this->logger = new Logger(LogLevel::DEBUG, $this->tmpFile, function ($level, $message, $context) {
|
||||
return json_encode(['level' => $level, 'message' => $message, 'context' => $context]).\PHP_EOL;
|
||||
return json_encode(['level' => $level, 'message' => $message, 'context' => $context]).PHP_EOL;
|
||||
});
|
||||
|
||||
$this->logger->error('An error', ['foo' => 'bar']);
|
||||
|
@ -109,9 +109,9 @@ abstract class Collator
|
||||
public function asort(array &$array, int $sortFlag = self::SORT_REGULAR)
|
||||
{
|
||||
$intlToPlainFlagMap = [
|
||||
self::SORT_REGULAR => \SORT_REGULAR,
|
||||
self::SORT_NUMERIC => \SORT_NUMERIC,
|
||||
self::SORT_STRING => \SORT_STRING,
|
||||
self::SORT_REGULAR => SORT_REGULAR,
|
||||
self::SORT_NUMERIC => SORT_NUMERIC,
|
||||
self::SORT_STRING => SORT_STRING,
|
||||
];
|
||||
|
||||
$plainSortFlag = isset($intlToPlainFlagMap[$sortFlag]) ? $intlToPlainFlagMap[$sortFlag] : self::SORT_REGULAR;
|
||||
|
@ -67,7 +67,7 @@ class LocaleDataGenerator extends AbstractDataGenerator
|
||||
// Write parents locale file for the Translation component
|
||||
file_put_contents(
|
||||
__DIR__.'/../../../Translation/Resources/data/parents.json',
|
||||
json_encode($this->localeParents, \JSON_PRETTY_PRINT).\PHP_EOL
|
||||
json_encode($this->localeParents, JSON_PRETTY_PRINT).PHP_EOL
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -201,9 +201,9 @@ abstract class NumberFormatter
|
||||
* @see https://php.net/round
|
||||
*/
|
||||
private static $phpRoundingMap = [
|
||||
self::ROUND_HALFDOWN => \PHP_ROUND_HALF_DOWN,
|
||||
self::ROUND_HALFEVEN => \PHP_ROUND_HALF_EVEN,
|
||||
self::ROUND_HALFUP => \PHP_ROUND_HALF_UP,
|
||||
self::ROUND_HALFDOWN => PHP_ROUND_HALF_DOWN,
|
||||
self::ROUND_HALFEVEN => PHP_ROUND_HALF_EVEN,
|
||||
self::ROUND_HALFUP => PHP_ROUND_HALF_UP,
|
||||
];
|
||||
|
||||
/**
|
||||
@ -354,7 +354,7 @@ abstract class NumberFormatter
|
||||
{
|
||||
// The original NumberFormatter does not support this format type
|
||||
if (self::TYPE_CURRENCY === $type) {
|
||||
trigger_error(__METHOD__.'(): Unsupported format type '.$type, \E_USER_WARNING);
|
||||
trigger_error(__METHOD__.'(): Unsupported format type '.$type, E_USER_WARNING);
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -508,7 +508,7 @@ abstract class NumberFormatter
|
||||
public function parse(string $value, int $type = self::TYPE_DOUBLE, int &$position = 0)
|
||||
{
|
||||
if (self::TYPE_DEFAULT === $type || self::TYPE_CURRENCY === $type) {
|
||||
trigger_error(__METHOD__.'(): Unsupported format type '.$type, \E_USER_WARNING);
|
||||
trigger_error(__METHOD__.'(): Unsupported format type '.$type, E_USER_WARNING);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -307,7 +307,7 @@ class PdoStore implements PersistingStoreInterface
|
||||
} else {
|
||||
switch ($this->driver = $con->getDriver()->getName()) {
|
||||
case 'mysqli':
|
||||
throw new NotSupportedException(sprintf('The store "%s" does not support the mysqli driver, use pdo_mysql instead.', \get_class($this)));
|
||||
throw new NotSupportedException(sprintf('The store "%s" does not support the mysqli driver, use pdo_mysql instead.', static::class));
|
||||
case 'pdo_mysql':
|
||||
case 'drizzle_pdo_mysql':
|
||||
$this->driver = 'mysql';
|
||||
|
@ -37,7 +37,7 @@ trait HandleTrait
|
||||
private function handle($message)
|
||||
{
|
||||
if (!$this->messageBus instanceof MessageBusInterface) {
|
||||
throw new LogicException(sprintf('You must provide a "%s" instance in the "%s::$messageBus" property, "%s" given.', MessageBusInterface::class, \get_class($this), \is_object($this->messageBus) ? \get_class($this->messageBus) : \gettype($this->messageBus)));
|
||||
throw new LogicException(sprintf('You must provide a "%s" instance in the "%s::$messageBus" property, "%s" given.', MessageBusInterface::class, static::class, \is_object($this->messageBus) ? \get_class($this->messageBus) : \gettype($this->messageBus)));
|
||||
}
|
||||
|
||||
$envelope = $this->messageBus->dispatch($message);
|
||||
@ -45,7 +45,7 @@ trait HandleTrait
|
||||
$handledStamps = $envelope->all(HandledStamp::class);
|
||||
|
||||
if (!$handledStamps) {
|
||||
throw new LogicException(sprintf('Message of type "%s" was handled zero times. Exactly one handler is expected when using "%s::%s()".', \get_class($envelope->getMessage()), \get_class($this), __FUNCTION__));
|
||||
throw new LogicException(sprintf('Message of type "%s" was handled zero times. Exactly one handler is expected when using "%s::%s()".', \get_class($envelope->getMessage()), static::class, __FUNCTION__));
|
||||
}
|
||||
|
||||
if (\count($handledStamps) > 1) {
|
||||
@ -53,7 +53,7 @@ trait HandleTrait
|
||||
return sprintf('"%s"', $stamp->getHandlerName());
|
||||
}, $handledStamps));
|
||||
|
||||
throw new LogicException(sprintf('Message of type "%s" was handled multiple times. Only one handler is expected when using "%s::%s()", got %d: %s.', \get_class($envelope->getMessage()), \get_class($this), __FUNCTION__, \count($handledStamps), $handlers));
|
||||
throw new LogicException(sprintf('Message of type "%s" was handled multiple times. Only one handler is expected when using "%s::%s()", got %d: %s.', \get_class($envelope->getMessage()), static::class, __FUNCTION__, \count($handledStamps), $handlers));
|
||||
}
|
||||
|
||||
return $handledStamps[0]->getResult();
|
||||
|
@ -24,7 +24,7 @@ final class Base64ContentEncoder extends Base64Encoder implements ContentEncoder
|
||||
throw new \TypeError(sprintf('Method "%s" takes a stream as a first argument.', __METHOD__));
|
||||
}
|
||||
|
||||
$filter = stream_filter_append($stream, 'convert.base64-encode', \STREAM_FILTER_READ, [
|
||||
$filter = stream_filter_append($stream, 'convert.base64-encode', STREAM_FILTER_READ, [
|
||||
'line-length' => 0 >= $maxLineLength || 76 < $maxLineLength ? 76 : $maxLineLength,
|
||||
'line-break-chars' => "\r\n",
|
||||
]);
|
||||
|
@ -89,7 +89,7 @@ class QpEncoder implements EncoderInterface
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$id = \get_class($this);
|
||||
$id = static::class;
|
||||
if (!isset(self::$safeMapShare[$id])) {
|
||||
$this->initSafeMap();
|
||||
self::$safeMapShare[$id] = $this->safeMap;
|
||||
|
@ -29,15 +29,15 @@ while ($read || $write) {
|
||||
$n = stream_select($r, $w, $e, 5);
|
||||
|
||||
if (false === $n) {
|
||||
die(ERR_SELECT_FAILED);
|
||||
exit(ERR_SELECT_FAILED);
|
||||
} elseif ($n < 1) {
|
||||
die(ERR_TIMEOUT);
|
||||
exit(ERR_TIMEOUT);
|
||||
}
|
||||
|
||||
if (in_array(STDOUT, $w) && strlen($out) > 0) {
|
||||
$written = fwrite(STDOUT, (string) $out, 32768);
|
||||
if (false === $written) {
|
||||
die(ERR_WRITE_FAILED);
|
||||
exit(ERR_WRITE_FAILED);
|
||||
}
|
||||
$out = (string) substr($out, $written);
|
||||
}
|
||||
@ -48,7 +48,7 @@ while ($read || $write) {
|
||||
if (in_array(STDERR, $w) && strlen($err) > 0) {
|
||||
$written = fwrite(STDERR, (string) $err, 32768);
|
||||
if (false === $written) {
|
||||
die(ERR_WRITE_FAILED);
|
||||
exit(ERR_WRITE_FAILED);
|
||||
}
|
||||
$err = (string) substr($err, $written);
|
||||
}
|
||||
@ -65,7 +65,7 @@ while ($read || $write) {
|
||||
if (false === $str || feof(STDIN)) {
|
||||
$read = null;
|
||||
if (!feof(STDIN)) {
|
||||
die(ERR_READ_FAILED);
|
||||
exit(ERR_READ_FAILED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ class Route
|
||||
public function __construct(array $data)
|
||||
{
|
||||
if (isset($data['localized_paths'])) {
|
||||
throw new \BadMethodCallException(sprintf('Unknown property "localized_paths" on annotation "%s".', \get_class($this)));
|
||||
throw new \BadMethodCallException(sprintf('Unknown property "localized_paths" on annotation "%s".', static::class));
|
||||
}
|
||||
|
||||
if (isset($data['value'])) {
|
||||
@ -74,7 +74,7 @@ class Route
|
||||
foreach ($data as $key => $value) {
|
||||
$method = 'set'.str_replace('_', '', $key);
|
||||
if (!method_exists($this, $method)) {
|
||||
throw new \BadMethodCallException(sprintf('Unknown property "%s" on annotation "%s".', $key, \get_class($this)));
|
||||
throw new \BadMethodCallException(sprintf('Unknown property "%s" on annotation "%s".', $key, static::class));
|
||||
}
|
||||
$this->$method($value);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ abstract class ObjectLoader extends Loader
|
||||
$loaderObject = $this->getObject($parts[0]);
|
||||
|
||||
if (!\is_object($loaderObject)) {
|
||||
throw new \TypeError(sprintf('%s:getObject() must return an object: %s returned', \get_class($this), \gettype($loaderObject)));
|
||||
throw new \TypeError(sprintf('%s:getObject() must return an object: %s returned', static::class, \gettype($loaderObject)));
|
||||
}
|
||||
|
||||
if (!\is_callable([$loaderObject, $method])) {
|
||||
|
@ -225,7 +225,7 @@ abstract class AbstractToken implements TokenInterface
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
$class = \get_class($this);
|
||||
$class = static::class;
|
||||
$class = substr($class, strrpos($class, '\\') + 1);
|
||||
|
||||
$roles = [];
|
||||
|
@ -33,8 +33,8 @@ final class NativePasswordEncoder implements PasswordEncoderInterface, SelfSalti
|
||||
public function __construct(int $opsLimit = null, int $memLimit = null, int $cost = null, string $algo = null)
|
||||
{
|
||||
$cost = $cost ?? 13;
|
||||
$opsLimit = $opsLimit ?? max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
|
||||
$memLimit = $memLimit ?? max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 1024);
|
||||
$opsLimit = $opsLimit ?? max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
|
||||
$memLimit = $memLimit ?? max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 1024);
|
||||
|
||||
if (3 > $opsLimit) {
|
||||
throw new \InvalidArgumentException('$opsLimit must be 3 or greater.');
|
||||
@ -89,7 +89,7 @@ final class NativePasswordEncoder implements PasswordEncoderInterface, SelfSalti
|
||||
return (72 >= \strlen($raw) || 0 !== strpos($encoded, '$2')) && password_verify($raw, $encoded);
|
||||
}
|
||||
|
||||
if (\extension_loaded('sodium') && version_compare(\SODIUM_LIBRARY_VERSION, '1.0.14', '>=')) {
|
||||
if (\extension_loaded('sodium') && version_compare(SODIUM_LIBRARY_VERSION, '1.0.14', '>=')) {
|
||||
return sodium_crypto_pwhash_str_verify($encoded, $raw);
|
||||
}
|
||||
|
||||
|
@ -34,8 +34,8 @@ final class SodiumPasswordEncoder implements PasswordEncoderInterface, SelfSalti
|
||||
throw new LogicException('Libsodium is not available. You should either install the sodium extension, upgrade to PHP 7.2+ or use a different encoder.');
|
||||
}
|
||||
|
||||
$this->opsLimit = $opsLimit ?? max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
|
||||
$this->memLimit = $memLimit ?? max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? \SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 2014);
|
||||
$this->opsLimit = $opsLimit ?? max(4, \defined('SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE : 4);
|
||||
$this->memLimit = $memLimit ?? max(64 * 1024 * 1024, \defined('SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE') ? SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE : 64 * 1024 * 2014);
|
||||
|
||||
if (3 > $this->opsLimit) {
|
||||
throw new \InvalidArgumentException('$opsLimit must be 3 or greater.');
|
||||
@ -48,7 +48,7 @@ final class SodiumPasswordEncoder implements PasswordEncoderInterface, SelfSalti
|
||||
|
||||
public static function isSupported(): bool
|
||||
{
|
||||
return version_compare(\extension_loaded('sodium') ? \SODIUM_LIBRARY_VERSION : phpversion('libsodium'), '1.0.14', '>=');
|
||||
return version_compare(\extension_loaded('sodium') ? SODIUM_LIBRARY_VERSION : phpversion('libsodium'), '1.0.14', '>=');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -150,7 +150,7 @@ class EncoderFactoryTest extends TestCase
|
||||
$this->assertInstanceOf(MigratingPasswordEncoder::class, $encoder);
|
||||
|
||||
$this->assertTrue($encoder->isPasswordValid((new SodiumPasswordEncoder())->encodePassword('foo', null), 'foo', null));
|
||||
$this->assertTrue($encoder->isPasswordValid((new NativePasswordEncoder(null, null, null, \PASSWORD_BCRYPT))->encodePassword('foo', null), 'foo', null));
|
||||
$this->assertTrue($encoder->isPasswordValid((new NativePasswordEncoder(null, null, null, PASSWORD_BCRYPT))->encodePassword('foo', null), 'foo', null));
|
||||
$this->assertTrue($encoder->isPasswordValid($digest->encodePassword('foo', null), 'foo', null));
|
||||
$this->assertStringStartsWith(SODIUM_CRYPTO_PWHASH_STRPREFIX, $encoder->encodePassword('foo', null));
|
||||
}
|
||||
|
@ -15,7 +15,6 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
|
||||
use Symfony\Component\HttpKernel\Event\RequestEvent;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
use Symfony\Component\Security\Http\Firewall\AbstractListener;
|
||||
use Symfony\Component\Security\Http\Firewall\AccessListener;
|
||||
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
|
||||
|
||||
|
@ -352,8 +352,9 @@ class ContextListenerTest extends TestCase
|
||||
$session->set('_security_session', $original);
|
||||
}
|
||||
|
||||
$tokenStorage = new UsageTrackingTokenStorage(new TokenStorage(), new class([
|
||||
'session' => function () use ($session) { return $session; }
|
||||
$tokenStorage = new UsageTrackingTokenStorage(new TokenStorage(), new class(['session' => function () use ($session) {
|
||||
return $session;
|
||||
},
|
||||
]) implements ContainerInterface {
|
||||
use ServiceLocatorTrait;
|
||||
});
|
||||
@ -398,8 +399,9 @@ class ContextListenerTest extends TestCase
|
||||
|
||||
$tokenStorage = new TokenStorage();
|
||||
$usageIndex = $session->getUsageIndex();
|
||||
$tokenStorage = new UsageTrackingTokenStorage($tokenStorage, new class([
|
||||
'session' => function () use ($session) { return $session; }
|
||||
$tokenStorage = new UsageTrackingTokenStorage($tokenStorage, new class(['session' => function () use ($session) {
|
||||
return $session;
|
||||
},
|
||||
]) implements ContainerInterface {
|
||||
use ServiceLocatorTrait;
|
||||
});
|
||||
|
@ -39,11 +39,11 @@ class DiscriminatorMap
|
||||
public function __construct(array $data)
|
||||
{
|
||||
if (empty($data['typeProperty'])) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter "typeProperty" of annotation "%s" cannot be empty.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter "typeProperty" of annotation "%s" cannot be empty.', static::class));
|
||||
}
|
||||
|
||||
if (empty($data['mapping'])) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter "mapping" of annotation "%s" cannot be empty.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter "mapping" of annotation "%s" cannot be empty.', static::class));
|
||||
}
|
||||
|
||||
$this->typeProperty = $data['typeProperty'];
|
||||
|
@ -34,13 +34,13 @@ class Groups
|
||||
public function __construct(array $data)
|
||||
{
|
||||
if (!isset($data['value']) || !$data['value']) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" cannot be empty.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" cannot be empty.', static::class));
|
||||
}
|
||||
|
||||
$value = (array) $data['value'];
|
||||
foreach ($value as $group) {
|
||||
if (!\is_string($group)) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" must be a string or an array of strings.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" must be a string or an array of strings.', static::class));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,11 +31,11 @@ class MaxDepth
|
||||
public function __construct(array $data)
|
||||
{
|
||||
if (!isset($data['value'])) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" should be set.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" should be set.', static::class));
|
||||
}
|
||||
|
||||
if (!\is_int($data['value']) || $data['value'] <= 0) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" must be a positive integer.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" must be a positive integer.', static::class));
|
||||
}
|
||||
|
||||
$this->maxDepth = $data['value'];
|
||||
|
@ -31,11 +31,11 @@ final class SerializedName
|
||||
public function __construct(array $data)
|
||||
{
|
||||
if (!isset($data['value'])) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" should be set.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" should be set.', static::class));
|
||||
}
|
||||
|
||||
if (!\is_string($data['value']) || empty($data['value'])) {
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" must be a non-empty string.', \get_class($this)));
|
||||
throw new InvalidArgumentException(sprintf('Parameter of annotation "%s" must be a non-empty string.', static::class));
|
||||
}
|
||||
|
||||
$this->serializedName = $data['value'];
|
||||
|
@ -208,7 +208,17 @@ abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerIn
|
||||
*/
|
||||
protected function handleCircularReference(object $object, string $format = null, array $context = [])
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
$circularReferenceHandler = $context[self::CIRCULAR_REFERENCE_HANDLER] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_HANDLER];
|
||||
=======
|
||||
if (\func_num_args() < 2 && __CLASS__ !== static::class && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface) {
|
||||
@trigger_error(sprintf('The "%s()" method will have two new "string $format = null" and "array $context = []" arguments in version 5.0, not defining it is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED);
|
||||
}
|
||||
$format = \func_num_args() > 1 ? func_get_arg(1) : null;
|
||||
$context = \func_num_args() > 2 ? func_get_arg(2) : [];
|
||||
|
||||
$circularReferenceHandler = $context[self::CIRCULAR_REFERENCE_HANDLER] ?? $this->defaultContext[self::CIRCULAR_REFERENCE_HANDLER] ?? $this->circularReferenceHandler;
|
||||
>>>>>>> 4.4
|
||||
if ($circularReferenceHandler) {
|
||||
return $circularReferenceHandler($object, $format, $context);
|
||||
}
|
||||
|
@ -93,6 +93,6 @@ class ConstraintViolationListNormalizer implements NormalizerInterface, Cacheabl
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
}
|
||||
|
@ -73,6 +73,6 @@ class CustomNormalizer implements NormalizerInterface, DenormalizerInterface, Se
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ class DataUriNormalizer implements NormalizerInterface, DenormalizerInterface, C
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -60,7 +60,7 @@ class DateIntervalNormalizer implements NormalizerInterface, DenormalizerInterfa
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -117,7 +117,7 @@ class DateTimeNormalizer implements NormalizerInterface, DenormalizerInterface,
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -74,6 +74,6 @@ class DateTimeZoneNormalizer implements NormalizerInterface, DenormalizerInterfa
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ class GetSetMethodNormalizer extends AbstractObjectNormalizer
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -70,6 +70,6 @@ class JsonSerializableNormalizer extends AbstractNormalizer
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ class ObjectNormalizer extends AbstractObjectNormalizer
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,7 +51,7 @@ class PropertyNormalizer extends AbstractObjectNormalizer
|
||||
*/
|
||||
public function hasCacheableSupportsMethod(): bool
|
||||
{
|
||||
return __CLASS__ === \get_class($this);
|
||||
return __CLASS__ === static::class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -31,15 +31,15 @@ use Symfony\Component\String\Exception\RuntimeException;
|
||||
*/
|
||||
abstract class AbstractString implements \JsonSerializable
|
||||
{
|
||||
public const PREG_PATTERN_ORDER = \PREG_PATTERN_ORDER;
|
||||
public const PREG_SET_ORDER = \PREG_SET_ORDER;
|
||||
public const PREG_OFFSET_CAPTURE = \PREG_OFFSET_CAPTURE;
|
||||
public const PREG_UNMATCHED_AS_NULL = \PREG_UNMATCHED_AS_NULL;
|
||||
public const PREG_PATTERN_ORDER = PREG_PATTERN_ORDER;
|
||||
public const PREG_SET_ORDER = PREG_SET_ORDER;
|
||||
public const PREG_OFFSET_CAPTURE = PREG_OFFSET_CAPTURE;
|
||||
public const PREG_UNMATCHED_AS_NULL = PREG_UNMATCHED_AS_NULL;
|
||||
|
||||
public const PREG_SPLIT = 0;
|
||||
public const PREG_SPLIT_NO_EMPTY = \PREG_SPLIT_NO_EMPTY;
|
||||
public const PREG_SPLIT_DELIM_CAPTURE = \PREG_SPLIT_DELIM_CAPTURE;
|
||||
public const PREG_SPLIT_OFFSET_CAPTURE = \PREG_SPLIT_OFFSET_CAPTURE;
|
||||
public const PREG_SPLIT_NO_EMPTY = PREG_SPLIT_NO_EMPTY;
|
||||
public const PREG_SPLIT_DELIM_CAPTURE = PREG_SPLIT_DELIM_CAPTURE;
|
||||
public const PREG_SPLIT_OFFSET_CAPTURE = PREG_SPLIT_OFFSET_CAPTURE;
|
||||
|
||||
protected $string = '';
|
||||
protected $ignoreCase = false;
|
||||
@ -262,7 +262,7 @@ abstract class AbstractString implements \JsonSerializable
|
||||
public function endsWith($suffix): bool
|
||||
{
|
||||
if (!\is_array($suffix) && !$suffix instanceof \Traversable) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, \get_class($this)));
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
foreach ($suffix as $s) {
|
||||
@ -317,7 +317,7 @@ abstract class AbstractString implements \JsonSerializable
|
||||
public function equalsTo($string): bool
|
||||
{
|
||||
if (!\is_array($string) && !$string instanceof \Traversable) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, \get_class($this)));
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
foreach ($string as $s) {
|
||||
@ -351,7 +351,7 @@ abstract class AbstractString implements \JsonSerializable
|
||||
public function indexOf($needle, int $offset = 0): ?int
|
||||
{
|
||||
if (!\is_array($needle) && !$needle instanceof \Traversable) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, \get_class($this)));
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
$i = \PHP_INT_MAX;
|
||||
@ -373,7 +373,7 @@ abstract class AbstractString implements \JsonSerializable
|
||||
public function indexOfLast($needle, int $offset = 0): ?int
|
||||
{
|
||||
if (!\is_array($needle) && !$needle instanceof \Traversable) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, \get_class($this)));
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
$i = null;
|
||||
@ -541,7 +541,7 @@ abstract class AbstractString implements \JsonSerializable
|
||||
public function startsWith($prefix): bool
|
||||
{
|
||||
if (!\is_array($prefix) && !$prefix instanceof \Traversable) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, \get_class($this)));
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
foreach ($prefix as $prefix) {
|
||||
|
@ -139,7 +139,7 @@ abstract class AbstractUnicodeString extends AbstractString
|
||||
}
|
||||
} elseif (!\function_exists('iconv')) {
|
||||
$s = preg_replace('/[^\x00-\x7F]/u', '?', $s);
|
||||
} elseif (\ICONV_IMPL === 'glibc') {
|
||||
} elseif (ICONV_IMPL === 'glibc') {
|
||||
$s = iconv('UTF-8', 'ASCII//TRANSLIT', $s);
|
||||
} else {
|
||||
$s = preg_replace_callback('/[^\x00-\x7F]/u', static function ($c) {
|
||||
@ -223,7 +223,7 @@ abstract class AbstractUnicodeString extends AbstractString
|
||||
|
||||
public function match(string $regexp, int $flags = 0, int $offset = 0): array
|
||||
{
|
||||
$match = ((\PREG_PATTERN_ORDER | \PREG_SET_ORDER) & $flags) ? 'preg_match_all' : 'preg_match';
|
||||
$match = ((PREG_PATTERN_ORDER | PREG_SET_ORDER) & $flags) ? 'preg_match_all' : 'preg_match';
|
||||
|
||||
if ($this->ignoreCase) {
|
||||
$regexp .= 'i';
|
||||
@ -309,7 +309,7 @@ abstract class AbstractUnicodeString extends AbstractString
|
||||
|
||||
if (\is_array($to) || $to instanceof \Closure) {
|
||||
if (!\is_callable($to)) {
|
||||
throw new \TypeError(sprintf('Argument 2 passed to %s::replaceMatches() must be callable, array given.', \get_class($this)));
|
||||
throw new \TypeError(sprintf('Argument 2 passed to %s::replaceMatches() must be callable, array given.', static::class));
|
||||
}
|
||||
|
||||
$replace = 'preg_replace_callback';
|
||||
|
@ -193,7 +193,7 @@ class ByteString extends AbstractString
|
||||
|
||||
public function match(string $regexp, int $flags = 0, int $offset = 0): array
|
||||
{
|
||||
$match = ((\PREG_PATTERN_ORDER | \PREG_SET_ORDER) & $flags) ? 'preg_match_all' : 'preg_match';
|
||||
$match = ((PREG_PATTERN_ORDER | PREG_SET_ORDER) & $flags) ? 'preg_match_all' : 'preg_match';
|
||||
|
||||
if ($this->ignoreCase) {
|
||||
$regexp .= 'i';
|
||||
@ -271,7 +271,7 @@ class ByteString extends AbstractString
|
||||
|
||||
if (\is_array($to)) {
|
||||
if (!\is_callable($to)) {
|
||||
throw new \TypeError(sprintf('Argument 2 passed to %s::replaceMatches() must be callable, array given.', \get_class($this)));
|
||||
throw new \TypeError(sprintf('Argument 2 passed to %s::replaceMatches() must be callable, array given.', static::class));
|
||||
}
|
||||
|
||||
$replace = 'preg_replace_callback';
|
||||
|
@ -70,7 +70,7 @@ abstract class Constraint
|
||||
public static function getErrorName($errorCode)
|
||||
{
|
||||
if (!isset(static::$errorNames[$errorCode])) {
|
||||
throw new InvalidArgumentException(sprintf('The error code "%s" does not exist for constraint of type "%s".', $errorCode, \get_called_class()));
|
||||
throw new InvalidArgumentException(sprintf('The error code "%s" does not exist for constraint of type "%s".', $errorCode, static::class));
|
||||
}
|
||||
|
||||
return static::$errorNames[$errorCode];
|
||||
@ -115,7 +115,7 @@ abstract class Constraint
|
||||
|
||||
if (\is_array($options) && isset($options['value']) && !property_exists($this, 'value')) {
|
||||
if (null === $defaultOption) {
|
||||
throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint "%s".', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint "%s".', static::class));
|
||||
}
|
||||
|
||||
$options[$defaultOption] = $options['value'];
|
||||
@ -136,7 +136,7 @@ abstract class Constraint
|
||||
}
|
||||
} elseif (null !== $options && !(\is_array($options) && 0 === \count($options))) {
|
||||
if (null === $defaultOption) {
|
||||
throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint "%s".', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('No default option is configured for constraint "%s".', static::class));
|
||||
}
|
||||
|
||||
if (\array_key_exists($defaultOption, $knownOptions)) {
|
||||
@ -148,11 +148,11 @@ abstract class Constraint
|
||||
}
|
||||
|
||||
if (\count($invalidOptions) > 0) {
|
||||
throw new InvalidOptionsException(sprintf('The options "%s" do not exist in constraint "%s".', implode('", "', $invalidOptions), \get_class($this)), $invalidOptions);
|
||||
throw new InvalidOptionsException(sprintf('The options "%s" do not exist in constraint "%s".', implode('", "', $invalidOptions), static::class), $invalidOptions);
|
||||
}
|
||||
|
||||
if (\count($missingOptions) > 0) {
|
||||
throw new MissingOptionsException(sprintf('The options "%s" must be set for constraint "%s".', implode('", "', array_keys($missingOptions)), \get_class($this)), array_keys($missingOptions));
|
||||
throw new MissingOptionsException(sprintf('The options "%s" must be set for constraint "%s".', implode('", "', array_keys($missingOptions)), static::class), array_keys($missingOptions));
|
||||
}
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ abstract class Constraint
|
||||
return;
|
||||
}
|
||||
|
||||
throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint "%s".', $option, \get_class($this)), [$option]);
|
||||
throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint "%s".', $option, static::class), [$option]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -201,7 +201,7 @@ abstract class Constraint
|
||||
return $this->groups;
|
||||
}
|
||||
|
||||
throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint "%s".', $option, \get_class($this)), [$option]);
|
||||
throw new InvalidOptionsException(sprintf('The option "%s" does not exist in constraint "%s".', $option, static::class), [$option]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -265,7 +265,7 @@ abstract class Constraint
|
||||
*/
|
||||
public function validatedBy()
|
||||
{
|
||||
return \get_class($this).'Validator';
|
||||
return static::class.'Validator';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -39,15 +39,15 @@ abstract class AbstractComparison extends Constraint
|
||||
|
||||
if (\is_array($options)) {
|
||||
if (!isset($options['value']) && !isset($options['propertyPath'])) {
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires either the "value" or "propertyPath" option to be set.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires either the "value" or "propertyPath" option to be set.', static::class));
|
||||
}
|
||||
|
||||
if (isset($options['value']) && isset($options['propertyPath'])) {
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "value" or "propertyPath" options to be set, not both.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "value" or "propertyPath" options to be set, not both.', static::class));
|
||||
}
|
||||
|
||||
if (isset($options['propertyPath']) && !class_exists(PropertyAccess::class)) {
|
||||
throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "propertyPath" option.', \get_class($this)));
|
||||
throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "propertyPath" option.', static::class));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,11 +73,11 @@ abstract class Composite extends Constraint
|
||||
$constraint = \get_class($constraint);
|
||||
}
|
||||
|
||||
throw new ConstraintDefinitionException(sprintf('The value %s is not an instance of Constraint in constraint %s', $constraint, \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The value %s is not an instance of Constraint in constraint %s', $constraint, static::class));
|
||||
}
|
||||
|
||||
if ($constraint instanceof Valid) {
|
||||
throw new ConstraintDefinitionException(sprintf('The constraint Valid cannot be nested inside constraint %s. You can only declare the Valid constraint directly on a field or method.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The constraint Valid cannot be nested inside constraint %s. You can only declare the Valid constraint directly on a field or method.', static::class));
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ abstract class Composite extends Constraint
|
||||
$excessGroups = array_diff($constraint->groups, $this->groups);
|
||||
|
||||
if (\count($excessGroups) > 0) {
|
||||
throw new ConstraintDefinitionException(sprintf('The group(s) "%s" passed to the constraint %s should also be passed to its containing constraint %s', implode('", "', $excessGroups), \get_class($constraint), \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The group(s) "%s" passed to the constraint %s should also be passed to its containing constraint %s', implode('", "', $excessGroups), \get_class($constraint), static::class));
|
||||
}
|
||||
} else {
|
||||
$constraint->groups = $this->groups;
|
||||
|
@ -27,11 +27,11 @@ trait NumberConstraintTrait
|
||||
}
|
||||
|
||||
if (isset($options['propertyPath'])) {
|
||||
throw new ConstraintDefinitionException(sprintf('The "propertyPath" option of the "%s" constraint cannot be set.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The "propertyPath" option of the "%s" constraint cannot be set.', static::class));
|
||||
}
|
||||
|
||||
if (isset($options['value'])) {
|
||||
throw new ConstraintDefinitionException(sprintf('The "value" option of the "%s" constraint cannot be set.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The "value" option of the "%s" constraint cannot be set.', static::class));
|
||||
}
|
||||
|
||||
$options['value'] = 0;
|
||||
|
@ -50,15 +50,15 @@ class Range extends Constraint
|
||||
{
|
||||
if (\is_array($options)) {
|
||||
if (isset($options['min']) && isset($options['minPropertyPath'])) {
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "min" or "minPropertyPath" options to be set, not both.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "min" or "minPropertyPath" options to be set, not both.', static::class));
|
||||
}
|
||||
|
||||
if (isset($options['max']) && isset($options['maxPropertyPath'])) {
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "max" or "maxPropertyPath" options to be set, not both.', \get_class($this)));
|
||||
throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "max" or "maxPropertyPath" options to be set, not both.', static::class));
|
||||
}
|
||||
|
||||
if ((isset($options['minPropertyPath']) || isset($options['maxPropertyPath'])) && !class_exists(PropertyAccess::class)) {
|
||||
throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "minPropertyPath" or "maxPropertyPath" option.', \get_class($this)));
|
||||
throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "minPropertyPath" or "maxPropertyPath" option.', static::class));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,6 @@
|
||||
namespace Symfony\Component\Validator\Tests\Constraints;
|
||||
|
||||
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
|
||||
use Symfony\Component\PropertyAccess\PropertyAccess;
|
||||
use Symfony\Component\Validator\Constraints\Expression;
|
||||
use Symfony\Component\Validator\Constraints\ExpressionValidator;
|
||||
use Symfony\Component\Validator\Test\ConstraintValidatorTestCase;
|
||||
|
@ -15,7 +15,6 @@ use PHPUnit\Framework\TestCase;
|
||||
use Psr\Cache\CacheItemPoolInterface;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
use Symfony\Component\Validator\Constraints\Callback;
|
||||
use Symfony\Component\Validator\Mapping\Cache\Psr6Cache;
|
||||
use Symfony\Component\Validator\Mapping\ClassMetadata;
|
||||
use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
|
||||
use Symfony\Component\Validator\Mapping\Loader\LoaderInterface;
|
||||
|
@ -48,7 +48,7 @@ class Stub
|
||||
{
|
||||
$properties = [];
|
||||
|
||||
if (!isset(self::$defaultProperties[$c = \get_class($this)])) {
|
||||
if (!isset(self::$defaultProperties[$c = static::class])) {
|
||||
self::$defaultProperties[$c] = get_class_vars($c);
|
||||
|
||||
foreach ((new \ReflectionClass($c))->getStaticProperties() as $k => $v) {
|
||||
|
@ -38,6 +38,6 @@ if (!function_exists('dd')) {
|
||||
VarDumper::dump($v);
|
||||
}
|
||||
|
||||
die(1);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
@ -52,9 +52,6 @@ trait VarDumperTestTrait
|
||||
$this->assertStringMatchesFormat($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
*/
|
||||
protected function getDump($data, $key = null, int $filter = 0): ?string
|
||||
{
|
||||
if (null === $flags = $this->varDumperConfig['flags']) {
|
||||
|
@ -31,8 +31,6 @@ class Exporter
|
||||
* @param int &$objectsCount
|
||||
* @param bool &$valuesAreStatic
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @throws NotInstantiableTypeException When a value cannot be serialized
|
||||
*/
|
||||
public static function prepare($values, $objectsPool, &$refsPool, &$objectsCount, &$valuesAreStatic): array
|
||||
|
@ -41,8 +41,7 @@ trait CacheTrait
|
||||
private function doGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null, LoggerInterface $logger = null)
|
||||
{
|
||||
if (0 > $beta = $beta ?? 1.0) {
|
||||
throw new class(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', \get_class($this), $beta)) extends \InvalidArgumentException implements InvalidArgumentException {
|
||||
};
|
||||
throw new class(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', static::class, $beta)) extends \InvalidArgumentException implements InvalidArgumentException { };
|
||||
}
|
||||
|
||||
$item = $pool->getItem($key);
|
||||
|
Reference in New Issue
Block a user