diff --git a/src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php b/src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php index 78ad390e07..721c020370 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php +++ b/src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php @@ -126,7 +126,7 @@ class Translator extends BaseTranslator implements WarmableInterface /** * @internal */ - protected function doLoadCatalogue($locale): void + protected function doLoadCatalogue(string $locale): void { parent::doLoadCatalogue($locale); diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json index 21c06c2394..02bf50913b 100644 --- a/src/Symfony/Bundle/FrameworkBundle/composer.json +++ b/src/Symfony/Bundle/FrameworkBundle/composer.json @@ -50,7 +50,7 @@ "symfony/security-http": "^3.4|^4.0|^5.0", "symfony/serializer": "^4.3|^5.0", "symfony/stopwatch": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.3|^5.0", + "symfony/translation": "^4.4|^5.0", "symfony/templating": "^3.4|^4.0|^5.0", "symfony/twig-bundle": "^4.4|^5.0", "symfony/validator": "^4.4|^5.0", @@ -80,7 +80,7 @@ "symfony/property-info": "<3.4", "symfony/serializer": "<4.2", "symfony/stopwatch": "<3.4", - "symfony/translation": "<4.3", + "symfony/translation": "<4.4", "symfony/twig-bridge": "<4.1.1", "symfony/twig-bundle": "<4.4", "symfony/validator": "<4.4", diff --git a/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php b/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php index 9ed002a9cc..49b991a465 100644 --- a/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php +++ b/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php @@ -182,7 +182,7 @@ class ArrayChoiceList implements ChoiceListInterface * * @internal */ - protected function flatten(array $choices, $value, &$choicesByValues, &$keysByValues, &$structuredValues) + protected function flatten(array $choices, callable $value, ?array &$choicesByValues, ?array &$keysByValues, ?array &$structuredValues) { if (null === $choicesByValues) { $choicesByValues = []; diff --git a/src/Symfony/Component/Form/Command/DebugCommand.php b/src/Symfony/Component/Form/Command/DebugCommand.php index 341329b70b..ea5ef2e5d1 100644 --- a/src/Symfony/Component/Form/Command/DebugCommand.php +++ b/src/Symfony/Component/Form/Command/DebugCommand.php @@ -154,7 +154,7 @@ EOF $helper->describe($io, $object, $options); } - private function getFqcnTypeClass(InputInterface $input, SymfonyStyle $io, string $shortClassName) + private function getFqcnTypeClass(InputInterface $input, SymfonyStyle $io, string $shortClassName): string { $classes = []; sort($this->namespaces); @@ -195,7 +195,7 @@ EOF return $io->choice(sprintf("The type \"%s\" is ambiguous.\n\nSelect one of the following form types to display its information:", $shortClassName), $classes, $classes[0]); } - private function getCoreTypes() + private function getCoreTypes(): array { $coreExtension = new CoreExtension(); $loadTypesRefMethod = (new \ReflectionObject($coreExtension))->getMethod('loadTypes'); @@ -223,7 +223,7 @@ EOF return $typesWithDeprecatedOptions; } - private function findAlternatives(string $name, array $collection) + private function findAlternatives(string $name, array $collection): array { $alternatives = []; foreach ($collection as $item) { diff --git a/src/Symfony/Component/Form/Console/Descriptor/Descriptor.php b/src/Symfony/Component/Form/Console/Descriptor/Descriptor.php index e209e34d53..17828344c4 100644 --- a/src/Symfony/Component/Form/Console/Descriptor/Descriptor.php +++ b/src/Symfony/Component/Form/Console/Descriptor/Descriptor.php @@ -167,7 +167,7 @@ abstract class Descriptor implements DescriptorInterface $this->extensionOptions = $filterByDeprecated($this->extensionOptions); } - private function getParentOptionsResolver(ResolvedFormTypeInterface $type) + private function getParentOptionsResolver(ResolvedFormTypeInterface $type): OptionsResolver { $this->parents[$class = \get_class($type->getInnerType())] = []; diff --git a/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php b/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php index 219bd69c62..6dc9ac48ac 100644 --- a/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php +++ b/src/Symfony/Component/Form/Console/Descriptor/TextDescriptor.php @@ -155,7 +155,7 @@ class TextDescriptor extends Descriptor return $tableRows; } - private function normalizeAndSortOptionsColumns(array $options) + private function normalizeAndSortOptionsColumns(array $options): array { foreach ($options as $group => $opts) { $sorted = false; diff --git a/src/Symfony/Component/Form/DependencyInjection/FormPass.php b/src/Symfony/Component/Form/DependencyInjection/FormPass.php index 7e10a5b13f..2be2a59d60 100644 --- a/src/Symfony/Component/Form/DependencyInjection/FormPass.php +++ b/src/Symfony/Component/Form/DependencyInjection/FormPass.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\DependencyInjection; +use Symfony\Component\DependencyInjection\Argument\ArgumentInterface; use Symfony\Component\DependencyInjection\Argument\IteratorArgument; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; @@ -60,7 +61,7 @@ class FormPass implements CompilerPassInterface $definition->replaceArgument(2, $this->processFormTypeGuessers($container)); } - private function processFormTypes(ContainerBuilder $container) + private function processFormTypes(ContainerBuilder $container): Reference { // Get service locator argument $servicesMap = []; @@ -83,7 +84,7 @@ class FormPass implements CompilerPassInterface return ServiceLocatorTagPass::register($container, $servicesMap); } - private function processFormTypeExtensions(ContainerBuilder $container) + private function processFormTypeExtensions(ContainerBuilder $container): array { $typeExtensions = []; $typeExtensionsClasses = []; @@ -130,7 +131,7 @@ class FormPass implements CompilerPassInterface return $typeExtensions; } - private function processFormTypeGuessers(ContainerBuilder $container) + private function processFormTypeGuessers(ContainerBuilder $container): ArgumentInterface { $guessers = []; $guessersClasses = []; diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php index 7ec61e747c..a06a244b0f 100644 --- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php +++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateIntervalToStringTransformer.php @@ -94,7 +94,7 @@ class DateIntervalToStringTransformer implements DataTransformerInterface return $dateInterval; } - private function isISO8601(string $string) + private function isISO8601(string $string): bool { return preg_match('/^P(?=\w*(?:\d|%\w))(?:\d+Y|%[yY]Y)?(?:\d+M|%[mM]M)?(?:(?:\d+D|%[dD]D)|(?:\d+W|%[wW]W))?(?:T(?:\d+H|[hH]H)?(?:\d+M|[iI]M)?(?:\d+S|[sS]S)?)?$/', $string); } diff --git a/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php b/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php index 05a2d8bca7..01488217c8 100644 --- a/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php +++ b/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php @@ -188,7 +188,7 @@ class FormValidator extends ConstraintValidator * * @param string|GroupSequence|(string|GroupSequence)[]|callable $groups The validation groups * - * @return (string|GroupSequence)[] The validation groups + * @return GroupSequence|(string|GroupSequence)[] The validation groups */ private static function resolveValidationGroups($groups, FormInterface $form) { diff --git a/src/Symfony/Component/Form/FormRenderer.php b/src/Symfony/Component/Form/FormRenderer.php index 91e6faa9cc..034dc41cc3 100644 --- a/src/Symfony/Component/Form/FormRenderer.php +++ b/src/Symfony/Component/Form/FormRenderer.php @@ -290,7 +290,7 @@ class FormRenderer implements FormRendererInterface /** * @internal */ - public function encodeCurrency(Environment $environment, $text, $widget = '') + public function encodeCurrency(Environment $environment, string $text, string $widget = ''): string { if ('UTF-8' === $charset = $environment->getCharset()) { $text = htmlspecialchars($text, ENT_QUOTES | (\defined('ENT_SUBSTITUTE') ? ENT_SUBSTITUTE : 0), 'UTF-8'); diff --git a/src/Symfony/Component/HttpClient/Tests/DataCollector/HttpClientDataCollectorTest.php b/src/Symfony/Component/HttpClient/Tests/DataCollector/HttpClientDataCollectorTest.php index f4f94156a3..d173c17250 100755 --- a/src/Symfony/Component/HttpClient/Tests/DataCollector/HttpClientDataCollectorTest.php +++ b/src/Symfony/Component/HttpClient/Tests/DataCollector/HttpClientDataCollectorTest.php @@ -164,7 +164,7 @@ class HttpClientDataCollectorTest extends TestCase $this->assertEquals(0, $sut->getRequestCount()); } - private function httpClientThatHasTracedRequests($tracedRequests) + private function httpClientThatHasTracedRequests($tracedRequests): TraceableHttpClient { $httpClient = new TraceableHttpClient(new NativeHttpClient()); diff --git a/src/Symfony/Component/HttpClient/Tests/Exception/HttpExceptionTraitTest.php b/src/Symfony/Component/HttpClient/Tests/Exception/HttpExceptionTraitTest.php index 38afb212dc..ac6c30df1f 100644 --- a/src/Symfony/Component/HttpClient/Tests/Exception/HttpExceptionTraitTest.php +++ b/src/Symfony/Component/HttpClient/Tests/Exception/HttpExceptionTraitTest.php @@ -20,7 +20,7 @@ use Symfony\Contracts\HttpClient\ResponseInterface; */ class HttpExceptionTraitTest extends TestCase { - public function provideParseError() + public function provideParseError(): iterable { yield ['application/ld+json', '{"hydra:title": "An error occurred", "hydra:description": "Some details"}']; yield ['application/problem+json', '{"title": "An error occurred", "detail": "Some details"}']; diff --git a/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php b/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php index 559f2b6227..1b964f5f69 100644 --- a/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php +++ b/src/Symfony/Component/HttpClient/Tests/HttpClientTraitTest.php @@ -24,7 +24,7 @@ class HttpClientTraitTest extends TestCase /** * @dataProvider providePrepareRequestUrl */ - public function testPrepareRequestUrl($expected, $url, $query = []) + public function testPrepareRequestUrl(string $expected, string $url, array $query = []) { $defaults = [ 'base_uri' => 'http://example.com?c=c', @@ -36,7 +36,7 @@ class HttpClientTraitTest extends TestCase $this->assertSame($expected, implode('', $url)); } - public function providePrepareRequestUrl() + public function providePrepareRequestUrl(): iterable { yield ['http://example.com/', 'http://example.com/']; yield ['http://example.com/?a=1&b=b', '.']; @@ -48,7 +48,7 @@ class HttpClientTraitTest extends TestCase /** * @dataProvider provideResolveUrl */ - public function testResolveUrl($base, $url, $expected) + public function testResolveUrl(string $base, string $url, string $expected) { $this->assertSame($expected, implode('', self::resolveUrl(self::parseUrl($url), self::parseUrl($base)))); } @@ -56,7 +56,7 @@ class HttpClientTraitTest extends TestCase /** * From https://github.com/guzzle/psr7/blob/master/tests/UriResoverTest.php. */ - public function provideResolveUrl() + public function provideResolveUrl(): array { return [ [self::RFC3986_BASE, 'http:h', 'http:h'], @@ -123,14 +123,14 @@ class HttpClientTraitTest extends TestCase /** * @dataProvider provideParseUrl */ - public function testParseUrl($expected, $url, $query = []) + public function testParseUrl(array $expected, string $url, array $query = []) { $expected = array_combine(['scheme', 'authority', 'path', 'query', 'fragment'], $expected); $this->assertSame($expected, self::parseUrl($url, $query)); } - public function provideParseUrl() + public function provideParseUrl(): iterable { yield [['http:', '//example.com', null, null, null], 'http://Example.coM:80']; yield [['https:', '//xn--dj-kia8a.example.com:8000', '/', null, null], 'https://DÉjà.Example.com:8000/']; diff --git a/src/Symfony/Component/HttpClient/Tests/HttpOptionsTest.php b/src/Symfony/Component/HttpClient/Tests/HttpOptionsTest.php index 65d0ae59db..df5cb394df 100644 --- a/src/Symfony/Component/HttpClient/Tests/HttpOptionsTest.php +++ b/src/Symfony/Component/HttpClient/Tests/HttpOptionsTest.php @@ -19,7 +19,7 @@ use Symfony\Component\HttpClient\HttpOptions; */ class HttpOptionsTest extends TestCase { - public function provideSetAuthBasic() + public function provideSetAuthBasic(): iterable { yield ['user:password', 'user', 'password']; yield ['user:password', 'user:password']; diff --git a/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php b/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php index 7291c25da7..22907ce58f 100644 --- a/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php +++ b/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php @@ -151,7 +151,7 @@ class ControllerResolver implements ControllerResolverInterface return new $class(); } - private function getControllerError($callable) + private function getControllerError($callable): string { if (\is_string($callable)) { if (false !== strpos($callable, '::')) { @@ -213,7 +213,7 @@ class ControllerResolver implements ControllerResolverInterface return $message; } - private function getClassMethodsWithoutMagicMethods($classOrObject) + private function getClassMethodsWithoutMagicMethods($classOrObject): array { $methods = get_class_methods($classOrObject); diff --git a/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php index af7b1bc3db..d91f77cc33 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php @@ -118,7 +118,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte return 'logger'; } - private function getContainerDeprecationLogs() + private function getContainerDeprecationLogs(): array { if (null === $this->containerPathPrefix || !file_exists($file = $this->containerPathPrefix.'Deprecations.log')) { return []; @@ -212,7 +212,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte return array_values($sanitizedLogs); } - private function isSilencedOrDeprecationErrorLog(array $log) + private function isSilencedOrDeprecationErrorLog(array $log): bool { if (!isset($log['context']['exception'])) { return false; @@ -231,7 +231,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte return false; } - private function computeErrorsCount(array $containerDeprecationLogs) + private function computeErrorsCount(array $containerDeprecationLogs): array { $silencedLogs = []; $count = [ diff --git a/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php index 5d394888df..c101fe406a 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php @@ -89,7 +89,7 @@ class MemoryDataCollector extends DataCollector implements LateDataCollectorInte return 'memory'; } - private function convertToBytes(string $memoryLimit) + private function convertToBytes(string $memoryLimit): int { if ('-1' === $memoryLimit) { return -1; diff --git a/src/Symfony/Component/HttpKernel/DependencyInjection/AddAnnotatedClassesToCachePass.php b/src/Symfony/Component/HttpKernel/DependencyInjection/AddAnnotatedClassesToCachePass.php index c236eeae4e..70a987ebf4 100644 --- a/src/Symfony/Component/HttpKernel/DependencyInjection/AddAnnotatedClassesToCachePass.php +++ b/src/Symfony/Component/HttpKernel/DependencyInjection/AddAnnotatedClassesToCachePass.php @@ -82,7 +82,7 @@ class AddAnnotatedClassesToCachePass implements CompilerPassInterface return array_unique($expanded); } - private function getClassesInComposerClassMaps() + private function getClassesInComposerClassMaps(): array { $classes = []; @@ -103,7 +103,7 @@ class AddAnnotatedClassesToCachePass implements CompilerPassInterface return array_keys($classes); } - private function patternsToRegexps(array $patterns) + private function patternsToRegexps(array $patterns): array { $regexps = []; @@ -125,7 +125,7 @@ class AddAnnotatedClassesToCachePass implements CompilerPassInterface return $regexps; } - private function matchAnyRegexps(string $class, array $regexps) + private function matchAnyRegexps(string $class, array $regexps): bool { $blacklisted = false !== strpos($class, 'Test'); diff --git a/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php b/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php index b040b692dc..9d8e83bc71 100644 --- a/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php +++ b/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php @@ -161,7 +161,7 @@ class RouterListener implements EventSubscriberInterface ]; } - private function createWelcomeResponse() + private function createWelcomeResponse(): Response { $version = Kernel::VERSION; $projectDir = realpath($this->projectDir).\DIRECTORY_SEPARATOR; diff --git a/src/Symfony/Component/HttpKernel/UriSigner.php b/src/Symfony/Component/HttpKernel/UriSigner.php index 82cbeac8cc..c66caa6e89 100644 --- a/src/Symfony/Component/HttpKernel/UriSigner.php +++ b/src/Symfony/Component/HttpKernel/UriSigner.php @@ -82,12 +82,12 @@ class UriSigner return $this->computeHash($this->buildUrl($url, $params)) === $hash; } - private function computeHash(string $uri) + private function computeHash(string $uri): string { return base64_encode(hash_hmac('sha256', $uri, $this->secret, true)); } - private function buildUrl(array $url, array $params = []) + private function buildUrl(array $url, array $params = []): string { ksort($params, SORT_STRING); $url['query'] = http_build_query($params, '', '&'); diff --git a/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php b/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php index 847fb9932c..2af1b0682b 100644 --- a/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php +++ b/src/Symfony/Component/Intl/Data/Generator/LanguageDataGenerator.php @@ -205,7 +205,7 @@ class LanguageDataGenerator extends AbstractDataGenerator return array_keys($alpha3Codes); } - private function generateAlpha2ToAlpha3Mapping(ArrayAccessibleResourceBundle $metadataBundle) + private function generateAlpha2ToAlpha3Mapping(ArrayAccessibleResourceBundle $metadataBundle): array { $aliases = iterator_to_array($metadataBundle['alias']['language']); $alpha2ToAlpha3 = []; diff --git a/src/Symfony/Component/Intl/Locale.php b/src/Symfony/Component/Intl/Locale.php index 3b9eba3a75..0373844e76 100644 --- a/src/Symfony/Component/Intl/Locale.php +++ b/src/Symfony/Component/Intl/Locale.php @@ -65,7 +65,7 @@ final class Locale extends \Locale * @return string|null The ICU locale code of the fallback locale, or null * if no fallback exists */ - public static function getFallback($locale): ?string + public static function getFallback(string $locale): ?string { if (\function_exists('locale_parse')) { $localeSubTags = locale_parse($locale); diff --git a/src/Symfony/Component/Intl/Util/GitRepository.php b/src/Symfony/Component/Intl/Util/GitRepository.php index bd043bc3ba..3f24c6a463 100644 --- a/src/Symfony/Component/Intl/Util/GitRepository.php +++ b/src/Symfony/Component/Intl/Util/GitRepository.php @@ -44,32 +44,32 @@ final class GitRepository return new self(realpath($targetDir)); } - public function getPath() + public function getPath(): string { return $this->path; } - public function getUrl() + public function getUrl(): string { return $this->getLastLine($this->execInPath('git config --get remote.origin.url')); } - public function getLastCommitHash() + public function getLastCommitHash(): string { return $this->getLastLine($this->execInPath('git log -1 --format="%H"')); } - public function getLastAuthor() + public function getLastAuthor(): string { return $this->getLastLine($this->execInPath('git log -1 --format="%an"')); } - public function getLastAuthoredDate() + public function getLastAuthoredDate(): \DateTime { return new \DateTime($this->getLastLine($this->execInPath('git log -1 --format="%ai"'))); } - public function getLastTag(callable $filter = null) + public function getLastTag(callable $filter = null): string { $tags = $this->execInPath('git tag -l --sort=v:refname'); @@ -80,17 +80,17 @@ final class GitRepository return $this->getLastLine($tags); } - public function checkout($branch) + public function checkout(string $branch) { $this->execInPath(sprintf('git checkout %s', escapeshellarg($branch))); } - private function execInPath(string $command) + private function execInPath(string $command): array { return self::exec(sprintf('cd %s && %s', escapeshellarg($this->path), $command)); } - private static function exec($command, $customErrorMessage = null) + private static function exec(string $command, string $customErrorMessage = null): array { exec(sprintf('%s 2>&1', $command), $output, $result); @@ -101,7 +101,7 @@ final class GitRepository return $output; } - private function getLastLine(array $output) + private function getLastLine(array $output): string { return array_pop($output); } diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Collection.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Collection.php index 2f3d22743d..573ab0ce99 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Collection.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Collection.php @@ -118,7 +118,7 @@ class Collection implements CollectionInterface unset($this->entries[$offset]); } - private function getSingleEntry($con, $current) + private function getSingleEntry($con, $current): Entry { $attributes = ldap_get_attributes($con, $current); @@ -137,7 +137,7 @@ class Collection implements CollectionInterface return new Entry($dn, $attributes); } - private function cleanupAttributes(array $entry) + private function cleanupAttributes(array $entry): array { $attributes = array_diff_key($entry, array_flip(range(0, $entry['count'] - 1)) + [ 'count' => null, diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php index 949770e88f..225f107ffd 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php @@ -62,7 +62,7 @@ final class ConnectionOptions const X_KEEPALIVE_PROBES = 0x6301; const X_KEEPALIVE_INTERVAL = 0x6302; - public static function getOptionName($name) + public static function getOptionName(string $name): string { return sprintf('%s::%s', self::class, strtoupper($name)); } @@ -71,11 +71,9 @@ final class ConnectionOptions * Fetches an option's corresponding constant value from an option name. * The option name can either be in snake or camel case. * - * @param string $name - * * @throws LdapException */ - public static function getOption($name): int + public static function getOption(string $name): int { // Convert $constantName = self::getOptionName($name); @@ -87,7 +85,7 @@ final class ConnectionOptions return \constant($constantName); } - public static function isOption($name) + public static function isOption(string $name): bool { return \defined(self::getOptionName($name)); } diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php index d64e4b3289..20055c2f3b 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php @@ -156,7 +156,7 @@ class EntryManager implements EntryManagerInterface } } - private function parseRdnFromEntry(Entry $entry) + private function parseRdnFromEntry(Entry $entry): string { if (!preg_match('/^([^,]+),/', $entry->getDn(), $matches)) { throw new LdapException(sprintf('Entry "%s" malformed, could not parse RDN.', $entry->getDn())); diff --git a/src/Symfony/Component/Lock/Key.php b/src/Symfony/Component/Lock/Key.php index c53892ab6b..bc09b88888 100644 --- a/src/Symfony/Component/Lock/Key.php +++ b/src/Symfony/Component/Lock/Key.php @@ -60,7 +60,7 @@ final class Key /** * @param float $ttl the expiration delay of locks in seconds */ - public function reduceLifetime($ttl) + public function reduceLifetime(float $ttl) { $newTime = microtime(true) + $ttl; diff --git a/src/Symfony/Component/Lock/Store/MemcachedStore.php b/src/Symfony/Component/Lock/Store/MemcachedStore.php index 215e3496bd..23e2ee8121 100644 --- a/src/Symfony/Component/Lock/Store/MemcachedStore.php +++ b/src/Symfony/Component/Lock/Store/MemcachedStore.php @@ -161,7 +161,7 @@ class MemcachedStore implements StoreInterface return $key->getState(__CLASS__); } - private function getValueAndCas(Key $key) + private function getValueAndCas(Key $key): array { if (null === $this->useExtendedReturn) { $this->useExtendedReturn = version_compare(phpversion('memcached'), '2.9.9', '>'); diff --git a/src/Symfony/Component/Messenger/Command/AbstractFailedMessagesCommand.php b/src/Symfony/Component/Messenger/Command/AbstractFailedMessagesCommand.php index 136a20e94c..69b30d781d 100644 --- a/src/Symfony/Component/Messenger/Command/AbstractFailedMessagesCommand.php +++ b/src/Symfony/Component/Messenger/Command/AbstractFailedMessagesCommand.php @@ -39,7 +39,7 @@ abstract class AbstractFailedMessagesCommand extends Command parent::__construct(); } - protected function getReceiverName() + protected function getReceiverName(): string { return $this->receiverName; } diff --git a/src/Symfony/Component/Messenger/Handler/HandlerDescriptor.php b/src/Symfony/Component/Messenger/Handler/HandlerDescriptor.php index 6178f89fba..a0dac29cd0 100644 --- a/src/Symfony/Component/Messenger/Handler/HandlerDescriptor.php +++ b/src/Symfony/Component/Messenger/Handler/HandlerDescriptor.php @@ -49,7 +49,7 @@ final class HandlerDescriptor return $this->options[$option] ?? null; } - private function callableName(callable $handler) + private function callableName(callable $handler): string { if (\is_array($handler)) { if (\is_object($handler[0])) { diff --git a/src/Symfony/Component/Messenger/Handler/HandlersLocator.php b/src/Symfony/Component/Messenger/Handler/HandlersLocator.php index 39b12f53d1..6252bcc52a 100644 --- a/src/Symfony/Component/Messenger/Handler/HandlersLocator.php +++ b/src/Symfony/Component/Messenger/Handler/HandlersLocator.php @@ -74,7 +74,7 @@ class HandlersLocator implements HandlersLocatorInterface + ['*' => '*']; } - private function shouldHandle(Envelope $envelope, HandlerDescriptor $handlerDescriptor) + private function shouldHandle(Envelope $envelope, HandlerDescriptor $handlerDescriptor): bool { if (null === $received = $envelope->last(ReceivedStamp::class)) { return true; diff --git a/src/Symfony/Component/Messenger/Tests/Handler/HandleDescriptorTest.php b/src/Symfony/Component/Messenger/Tests/Handler/HandleDescriptorTest.php index 61e080b034..4f76d379dd 100644 --- a/src/Symfony/Component/Messenger/Tests/Handler/HandleDescriptorTest.php +++ b/src/Symfony/Component/Messenger/Tests/Handler/HandleDescriptorTest.php @@ -18,7 +18,7 @@ class HandleDescriptorTest extends TestCase $this->assertStringMatchesFormat($expectedHandlerString, $descriptor->getName()); } - public function provideHandlers() + public function provideHandlers(): iterable { yield [function () {}, 'Closure']; yield ['var_dump', 'var_dump']; diff --git a/src/Symfony/Component/Messenger/Tests/MessageBusTest.php b/src/Symfony/Component/Messenger/Tests/MessageBusTest.php index e47b57c104..4e1c2f6982 100644 --- a/src/Symfony/Component/Messenger/Tests/MessageBusTest.php +++ b/src/Symfony/Component/Messenger/Tests/MessageBusTest.php @@ -148,7 +148,7 @@ class MessageBusTest extends TestCase $this->assertCount(2, $finalEnvelope->all()); } - public function provideConstructorDataStucture() + public function provideConstructorDataStucture(): iterable { yield 'iterator' => [new \ArrayObject([ new SimpleMiddleware(), @@ -167,7 +167,7 @@ class MessageBusTest extends TestCase } /** @dataProvider provideConstructorDataStucture */ - public function testConstructDataStructure($dataStructure) + public function testConstructDataStructure(iterable $dataStructure) { $bus = new MessageBus($dataStructure); $envelope = new Envelope(new DummyMessage('Hello')); diff --git a/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php b/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php index 3ed20e0601..400060bc86 100644 --- a/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php +++ b/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php @@ -60,7 +60,7 @@ class HandleMessageMiddlewareTest extends MiddlewareTestCase $this->assertEquals($expectedStamps, $envelope->all(HandledStamp::class)); } - public function itAddsHandledStampsProvider() + public function itAddsHandledStampsProvider(): iterable { $first = $this->createPartialMock(HandleMessageMiddlewareTestCallable::class, ['__invoke']); $first->method('__invoke')->willReturn('first result'); diff --git a/src/Symfony/Component/Messenger/Tests/Middleware/SendMessageMiddlewareTest.php b/src/Symfony/Component/Messenger/Tests/Middleware/SendMessageMiddlewareTest.php index 0dd857afc3..82c3b0ac05 100644 --- a/src/Symfony/Component/Messenger/Tests/Middleware/SendMessageMiddlewareTest.php +++ b/src/Symfony/Component/Messenger/Tests/Middleware/SendMessageMiddlewareTest.php @@ -241,7 +241,7 @@ class SendMessageMiddlewareTest extends MiddlewareTestCase $middleware->handle($envelope, $this->getStackMock(false)); } - private function createSendersLocator(array $sendersMap, array $senders) + private function createSendersLocator(array $sendersMap, array $senders): SendersLocator { $container = $this->createMock(ContainerInterface::class); $container->expects($this->any()) diff --git a/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php b/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php index d1c201955d..433590d7fc 100644 --- a/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php +++ b/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php @@ -70,7 +70,7 @@ class MultiplierRetryStrategyTest extends TestCase $this->assertSame($expectedDelay, $strategy->getWaitingTime($envelope)); } - public function getWaitTimeTests() + public function getWaitTimeTests(): iterable { // delay, multiplier, maxDelay, retries, expectedDelay yield [1000, 1, 5000, 0, 1000]; diff --git a/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpReceiverTest.php b/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpReceiverTest.php index 8e0b9da29a..8e9aebbce8 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpReceiverTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpReceiverTest.php @@ -73,7 +73,7 @@ class AmqpReceiverTest extends TestCase $receiver->reject(new Envelope(new \stdClass(), [new AmqpReceivedStamp($amqpEnvelope, 'queueName')])); } - private function createAMQPEnvelope() + private function createAMQPEnvelope(): \AMQPEnvelope { $envelope = $this->getMockBuilder(\AMQPEnvelope::class)->getMock(); $envelope->method('getBody')->willReturn('{"message": "Hi"}'); diff --git a/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpTransportTest.php b/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpTransportTest.php index 4afdabca69..6618d2fc76 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpTransportTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/AmqpExt/AmqpTransportTest.php @@ -52,7 +52,7 @@ class AmqpTransportTest extends TestCase $this->assertSame($decodedMessage, $envelopes[0]->getMessage()); } - private function getTransport(SerializerInterface $serializer = null, Connection $connection = null) + private function getTransport(SerializerInterface $serializer = null, Connection $connection = null): AmqpTransport { $serializer = $serializer ?: $this->getMockBuilder(SerializerInterface::class)->getMock(); $connection = $connection ?: $this->getMockBuilder(Connection::class)->disableOriginalConstructor()->getMock(); diff --git a/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/ConnectionTest.php b/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/ConnectionTest.php index 6e7724d506..29c1135ec5 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/ConnectionTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/ConnectionTest.php @@ -135,7 +135,7 @@ class ConnectionTest extends TestCase return $queryBuilder; } - private function getStatementMock($expectedResult) + private function getStatementMock($expectedResult): Statement { $stmt = $this->createMock(Statement::class); $stmt->expects($this->once()) @@ -145,7 +145,7 @@ class ConnectionTest extends TestCase return $stmt; } - private function getSchemaSynchronizerMock() + private function getSchemaSynchronizerMock(): SchemaSynchronizer { return $this->createMock(SchemaSynchronizer::class); } @@ -153,7 +153,7 @@ class ConnectionTest extends TestCase /** * @dataProvider buildConfigurationProvider */ - public function testBuildConfiguration($dsn, $options, $expectedConnection, $expectedTableName, $expectedRedeliverTimeout, $expectedQueue, $expectedAutoSetup) + public function testBuildConfiguration(string $dsn, array $options, string $expectedConnection, string $expectedTableName, int $expectedRedeliverTimeout, string $expectedQueue, bool $expectedAutoSetup) { $config = Connection::buildConfiguration($dsn, $options); $this->assertEquals($expectedConnection, $config['connection']); @@ -163,7 +163,7 @@ class ConnectionTest extends TestCase $this->assertEquals($expectedAutoSetup, $config['auto_setup']); } - public function buildConfigurationProvider() + public function buildConfigurationProvider(): iterable { yield 'no options' => [ 'dsn' => 'doctrine://default', diff --git a/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineReceiverTest.php b/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineReceiverTest.php index 9c8b359f09..45e4dd3b91 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineReceiverTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineReceiverTest.php @@ -119,7 +119,7 @@ class DoctrineReceiverTest extends TestCase $this->assertEquals(new DummyMessage('Hi'), $actualEnvelope->getMessage()); } - private function createDoctrineEnvelope() + private function createDoctrineEnvelope(): array { return [ 'id' => 1, diff --git a/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineTransportTest.php b/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineTransportTest.php index 2ed5d34db4..96b5078b3a 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineTransportTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineTransportTest.php @@ -50,7 +50,7 @@ class DoctrineTransportTest extends TestCase $this->assertSame($decodedMessage, $envelopes[0]->getMessage()); } - private function getTransport(SerializerInterface $serializer = null, Connection $connection = null) + private function getTransport(SerializerInterface $serializer = null, Connection $connection = null): DoctrineTransport { $serializer = $serializer ?: $this->createMock(SerializerInterface::class); $connection = $connection ?: $this->createMock(Connection::class); diff --git a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisReceiverTest.php b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisReceiverTest.php index 28c299258c..0da0e78ff8 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisReceiverTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisReceiverTest.php @@ -54,7 +54,7 @@ class RedisReceiverTest extends TestCase $receiver->get(); } - private function createRedisEnvelope() + private function createRedisEnvelope(): array { return [ 'id' => 1, diff --git a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportTest.php b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportTest.php index fce73e50d3..8ca97243ae 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/RedisTransportTest.php @@ -50,7 +50,7 @@ class RedisTransportTest extends TestCase $this->assertSame($decodedMessage, $envelopes[0]->getMessage()); } - private function getTransport(SerializerInterface $serializer = null, Connection $connection = null) + private function getTransport(SerializerInterface $serializer = null, Connection $connection = null): RedisTransport { $serializer = $serializer ?: $this->getMockBuilder(SerializerInterface::class)->getMock(); $connection = $connection ?: $this->getMockBuilder(Connection::class)->disableOriginalConstructor()->getMock(); diff --git a/src/Symfony/Component/Messenger/Tests/Transport/Sender/SendersLocatorTest.php b/src/Symfony/Component/Messenger/Tests/Transport/Sender/SendersLocatorTest.php index 4c9be63c1c..d284861c3b 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/Sender/SendersLocatorTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/Sender/SendersLocatorTest.php @@ -90,7 +90,7 @@ class SendersLocatorTest extends TestCase $this->assertSame(['dummy' => $sender], iterator_to_array($locator->getSenders(new Envelope(new DummyMessage('a'))))); } - private function createContainer(array $senders) + private function createContainer(array $senders): ContainerInterface { $container = $this->createMock(ContainerInterface::class); $container->expects($this->any()) diff --git a/src/Symfony/Component/Messenger/Tests/Transport/Serialization/SerializerTest.php b/src/Symfony/Component/Messenger/Tests/Transport/Serialization/SerializerTest.php index 73cbfb6cb9..ae9a76fe22 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/Serialization/SerializerTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/Serialization/SerializerTest.php @@ -166,7 +166,7 @@ class SerializerTest extends TestCase $serializer->decode($data); } - public function getMissingKeyTests() + public function getMissingKeyTests(): iterable { yield 'no_body' => [ ['headers' => ['type' => 'bar']], diff --git a/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMemoryUsageIsExceededWorkerTest.php b/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMemoryUsageIsExceededWorkerTest.php index d8a80e37a1..54f28b9f02 100644 --- a/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMemoryUsageIsExceededWorkerTest.php +++ b/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMemoryUsageIsExceededWorkerTest.php @@ -44,7 +44,7 @@ class StopWhenMemoryUsageIsExceededWorkerTest extends TestCase $this->assertSame($shouldStop, $decoratedWorker->isStopped()); } - public function memoryProvider() + public function memoryProvider(): iterable { yield [2048, 1024, true]; yield [1024, 1024, false]; diff --git a/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMessageCountIsExceededWorkerTest.php b/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMessageCountIsExceededWorkerTest.php index f22d4524bf..5aae0db212 100644 --- a/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMessageCountIsExceededWorkerTest.php +++ b/src/Symfony/Component/Messenger/Tests/Worker/StopWhenMessageCountIsExceededWorkerTest.php @@ -23,7 +23,7 @@ class StopWhenMessageCountIsExceededWorkerTest extends TestCase /** * @dataProvider countProvider */ - public function testWorkerStopsWhenMaximumCountExceeded($max, $shouldStop) + public function testWorkerStopsWhenMaximumCountExceeded(int $max, bool $shouldStop) { $handlerCalledTimes = 0; $handledCallback = function () use (&$handlerCalledTimes) { @@ -44,7 +44,7 @@ class StopWhenMessageCountIsExceededWorkerTest extends TestCase $this->assertSame($shouldStop, $decoratedWorker->isStopped()); } - public function countProvider() + public function countProvider(): iterable { yield [1, true]; yield [2, true]; diff --git a/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php b/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php index 63c1fafdd5..edb0be43f8 100644 --- a/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php +++ b/src/Symfony/Component/Messenger/Transport/AmqpExt/Connection.php @@ -266,7 +266,7 @@ class Connection * which is the original exchange, resulting on it being put back into * the original queue. */ - private function createDelayQueue(int $delay, ?string $routingKey) + private function createDelayQueue(int $delay, ?string $routingKey): \AMQPQueue { $queue = $this->amqpFactory->createQueue($this->channel()); $queue->setName(str_replace( diff --git a/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php b/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php index 9ef44d6973..ea42b0a6fd 100644 --- a/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php +++ b/src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Messenger\Transport\Doctrine; use Doctrine\DBAL\Connection as DBALConnection; use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Exception\TableNotFoundException; use Doctrine\DBAL\Query\QueryBuilder; use Doctrine\DBAL\Schema\Schema; @@ -63,7 +64,7 @@ class Connection return $this->configuration; } - public static function buildConfiguration($dsn, array $options = []) + public static function buildConfiguration(string $dsn, array $options = []): array { if (false === $components = parse_url($dsn)) { throw new InvalidArgumentException(sprintf('The given Doctrine Messenger DSN "%s" is invalid.', $dsn)); @@ -279,7 +280,7 @@ class Connection ->from($this->configuration['table_name'], 'm'); } - private function executeQuery(string $sql, array $parameters = []) + private function executeQuery(string $sql, array $parameters = []): Statement { $stmt = null; try { @@ -327,7 +328,7 @@ class Connection return $schema; } - public static function formatDateTime(\DateTimeInterface $dateTime) + public static function formatDateTime(\DateTimeInterface $dateTime): string { return $dateTime->format('Y-m-d\TH:i:s'); } diff --git a/src/Symfony/Component/Process/Process.php b/src/Symfony/Component/Process/Process.php index bc92dcfeab..b71d4dadb5 100644 --- a/src/Symfony/Component/Process/Process.php +++ b/src/Symfony/Component/Process/Process.php @@ -248,7 +248,7 @@ class Process implements \IteratorAggregate * * @final */ - public function mustRun(callable $callback = null, array $env = []) + public function mustRun(callable $callback = null, array $env = []): self { if (0 !== $this->run($callback, $env)) { throw new ProcessFailedException($this); @@ -370,7 +370,7 @@ class Process implements \IteratorAggregate * * @final */ - public function restart(callable $callback = null, array $env = []) + public function restart(callable $callback = null, array $env = []): self { if ($this->isRunning()) { throw new RuntimeException('Process is already running'); @@ -1549,7 +1549,7 @@ class Process implements \IteratorAggregate return true; } - private function prepareWindowsCommandLine(string $cmd, array &$env) + private function prepareWindowsCommandLine(string $cmd, array &$env): string { $uid = uniqid('', true); $varCount = 0; @@ -1652,7 +1652,7 @@ class Process implements \IteratorAggregate }, $commandline); } - private function getDefaultEnv() + private function getDefaultEnv(): array { $env = []; diff --git a/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php b/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php index fa8b7a85f9..510bcf82a5 100644 --- a/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php +++ b/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php @@ -294,7 +294,7 @@ class ReflectionExtractor implements PropertyListExtractorInterface, PropertyTyp return null; } - private function extractFromDefaultValue(string $class, string $property) + private function extractFromDefaultValue(string $class, string $property): ?array { try { $reflectionClass = new \ReflectionClass($class); diff --git a/src/Symfony/Component/Routing/Loader/Configurator/CollectionConfigurator.php b/src/Symfony/Component/Routing/Loader/Configurator/CollectionConfigurator.php index 4e1e234774..79c1100a82 100644 --- a/src/Symfony/Component/Routing/Loader/Configurator/CollectionConfigurator.php +++ b/src/Symfony/Component/Routing/Loader/Configurator/CollectionConfigurator.php @@ -48,7 +48,7 @@ class CollectionConfigurator /** * Creates a sub-collection. */ - final public function collection($name = ''): self + final public function collection(string $name = ''): self { return new self($this->collection, $this->name.$name, $this, $this->prefixes); } diff --git a/src/Symfony/Component/Routing/Loader/XmlFileLoader.php b/src/Symfony/Component/Routing/Loader/XmlFileLoader.php index 19c75ef12d..c371f74a80 100644 --- a/src/Symfony/Component/Routing/Loader/XmlFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/XmlFileLoader.php @@ -409,7 +409,7 @@ class XmlFileLoader extends FileLoader } } - private function isElementValueNull(\DOMElement $element) + private function isElementValueNull(\DOMElement $element): bool { $namespaceUri = 'http://www.w3.org/2001/XMLSchema-instance'; diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php index 85d70ee792..f26ca2b3b5 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php @@ -443,7 +443,7 @@ EOF; ]; } - private function getExpressionLanguage() + private function getExpressionLanguage(): ExpressionLanguage { if (null === $this->expressionLanguage) { if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { @@ -455,7 +455,7 @@ EOF; return $this->expressionLanguage; } - private function indent(string $code, int $level = 1) + private function indent(string $code, int $level = 1): string { return preg_replace('/^./m', str_repeat(' ', $level).'$0', $code); } diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php index 0528a7b213..8ef76df8f8 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php @@ -32,7 +32,7 @@ trait CompiledUrlMatcherTrait private $dynamicRoutes = []; private $checkCondition; - public function match($pathinfo) + public function match($pathinfo): array { $allow = $allowSchemes = []; if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { diff --git a/src/Symfony/Component/Routing/Matcher/UrlMatcher.php b/src/Symfony/Component/Routing/Matcher/UrlMatcher.php index d40deff709..f471ce4bc9 100644 --- a/src/Symfony/Component/Routing/Matcher/UrlMatcher.php +++ b/src/Symfony/Component/Routing/Matcher/UrlMatcher.php @@ -276,7 +276,7 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface /** * @internal */ - protected function createRequest($pathinfo) + protected function createRequest(string $pathinfo): ?Request { if (!class_exists('Symfony\Component\HttpFoundation\Request')) { return null; diff --git a/src/Symfony/Component/Routing/RouteCompiler.php b/src/Symfony/Component/Routing/RouteCompiler.php index cfea642769..59f3a327e0 100644 --- a/src/Symfony/Component/Routing/RouteCompiler.php +++ b/src/Symfony/Component/Routing/RouteCompiler.php @@ -92,7 +92,7 @@ class RouteCompiler implements RouteCompilerInterface ); } - private static function compilePattern(Route $route, $pattern, $isHost) + private static function compilePattern(Route $route, string $pattern, bool $isHost): array { $tokens = []; $variables = []; diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php index 3a71bff2b0..d39e99c336 100644 --- a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php +++ b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php @@ -299,7 +299,7 @@ abstract class AbstractToken implements TokenInterface return sprintf('%s(user="%s", authenticated=%s, roles="%s")', $class, $this->getUsername(), json_encode($this->authenticated), implode(', ', $roles)); } - private function hasUserChanged(UserInterface $user) + private function hasUserChanged(UserInterface $user): bool { if (!($this->user instanceof UserInterface)) { throw new \BadMethodCallException('Method "hasUserChanged" should be called when current user class is instance of "UserInterface".'); diff --git a/src/Symfony/Component/Security/Core/Authorization/Voter/ExpressionVoter.php b/src/Symfony/Component/Security/Core/Authorization/Voter/ExpressionVoter.php index 0e1074b7c4..66867af96a 100644 --- a/src/Symfony/Component/Security/Core/Authorization/Voter/ExpressionVoter.php +++ b/src/Symfony/Component/Security/Core/Authorization/Voter/ExpressionVoter.php @@ -93,7 +93,7 @@ class ExpressionVoter implements VoterInterface return $result; } - private function getVariables(TokenInterface $token, $subject) + private function getVariables(TokenInterface $token, $subject): array { if (method_exists($token, 'getRoleNames')) { $roleNames = $token->getRoleNames(); diff --git a/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php b/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php index a8174e6a20..db046b7f3d 100644 --- a/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php +++ b/src/Symfony/Component/Security/Core/Encoder/Argon2iPasswordEncoder.php @@ -102,12 +102,12 @@ class Argon2iPasswordEncoder extends BasePasswordEncoder implements SelfSaltingE throw new \LogicException('Argon2i algorithm is not supported. Please install the libsodium extension or upgrade to PHP 7.2+.'); } - private function encodePasswordNative(string $raw) + private function encodePasswordNative(string $raw): string { return password_hash($raw, \PASSWORD_ARGON2I, $this->config); } - private function encodePasswordSodiumFunction(string $raw) + private function encodePasswordSodiumFunction(string $raw): string { $hash = sodium_crypto_pwhash_str( $raw, @@ -119,7 +119,7 @@ class Argon2iPasswordEncoder extends BasePasswordEncoder implements SelfSaltingE return $hash; } - private function encodePasswordSodiumExtension(string $raw) + private function encodePasswordSodiumExtension(string $raw): string { $hash = \Sodium\crypto_pwhash_str( $raw, diff --git a/src/Symfony/Component/Security/Core/Encoder/EncoderFactory.php b/src/Symfony/Component/Security/Core/Encoder/EncoderFactory.php index 36177c20cc..c3121a241f 100644 --- a/src/Symfony/Component/Security/Core/Encoder/EncoderFactory.php +++ b/src/Symfony/Component/Security/Core/Encoder/EncoderFactory.php @@ -80,7 +80,7 @@ class EncoderFactory implements EncoderFactoryInterface return $reflection->newInstanceArgs($config['arguments']); } - private function getEncoderConfigFromAlgorithm(array $config) + private function getEncoderConfigFromAlgorithm(array $config): array { if ('auto' === $config['algorithm']) { $encoderChain = []; diff --git a/src/Symfony/Component/Security/Core/User/User.php b/src/Symfony/Component/Security/Core/User/User.php index 31196abc79..67c6a84ad3 100644 --- a/src/Symfony/Component/Security/Core/User/User.php +++ b/src/Symfony/Component/Security/Core/User/User.php @@ -53,7 +53,7 @@ final class User implements UserInterface, EquatableInterface, AdvancedUserInter /** * {@inheritdoc} */ - public function getRoles() + public function getRoles(): array { return $this->roles; } diff --git a/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php b/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php index 450387a057..d9d57a4aa8 100644 --- a/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php +++ b/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php @@ -114,7 +114,7 @@ class CsrfTokenManager implements CsrfTokenManagerInterface return hash_equals($this->storage->getToken($namespacedId), $token->getValue()); } - private function getNamespace() + private function getNamespace(): string { return \is_callable($ns = $this->namespace) ? $ns() : $ns; } diff --git a/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php b/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php index 4759cf579b..3a7993c501 100644 --- a/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php +++ b/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php @@ -202,7 +202,7 @@ class CsrfTokenManagerTest extends TestCase return $data; } - private function getGeneratorAndStorage() + private function getGeneratorAndStorage(): array { return [ $this->getMockBuilder('Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface')->getMock(), diff --git a/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php b/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php index 3212973d96..bbf3066a79 100644 --- a/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php +++ b/src/Symfony/Component/Security/Guard/Provider/GuardAuthenticationProvider.php @@ -99,7 +99,7 @@ class GuardAuthenticationProvider implements AuthenticationProviderInterface return $this->authenticateViaGuard($guardAuthenticator, $token); } - private function authenticateViaGuard(AuthenticatorInterface $guardAuthenticator, PreAuthenticationGuardToken $token) + private function authenticateViaGuard(AuthenticatorInterface $guardAuthenticator, PreAuthenticationGuardToken $token): GuardTokenInterface { // get the user from the GuardAuthenticator $user = $guardAuthenticator->getUser($token->getCredentials(), $this->userProvider); @@ -134,7 +134,7 @@ class GuardAuthenticationProvider implements AuthenticationProviderInterface return $authenticatedToken; } - private function findOriginatingAuthenticator(PreAuthenticationGuardToken $token) + private function findOriginatingAuthenticator(PreAuthenticationGuardToken $token): ?AuthenticatorInterface { // find the *one* GuardAuthenticator that this token originated from foreach ($this->guardAuthenticators as $key => $guardAuthenticator) { diff --git a/src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php b/src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php index 642be92c06..fed7785a61 100644 --- a/src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php @@ -171,7 +171,7 @@ abstract class AbstractAuthenticationListener implements ListenerInterface */ abstract protected function attemptAuthentication(Request $request); - private function onFailure(Request $request, AuthenticationException $failed) + private function onFailure(Request $request, AuthenticationException $failed): Response { if (null !== $this->logger) { $this->logger->error('Authentication request failed.', ['exception' => $failed]); @@ -191,7 +191,7 @@ abstract class AbstractAuthenticationListener implements ListenerInterface return $response; } - private function onSuccess(Request $request, TokenInterface $token) + private function onSuccess(Request $request, TokenInterface $token): Response { if (null !== $this->logger) { $this->logger->info('User has been authenticated successfully.', ['username' => $token->getUsername()]); diff --git a/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordJsonAuthenticationListener.php b/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordJsonAuthenticationListener.php index 5393fbef10..851e160beb 100644 --- a/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordJsonAuthenticationListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordJsonAuthenticationListener.php @@ -168,7 +168,7 @@ class UsernamePasswordJsonAuthenticationListener implements ListenerInterface return $response; } - private function onFailure(Request $request, AuthenticationException $failed) + private function onFailure(Request $request, AuthenticationException $failed): Response { if (null !== $this->logger) { $this->logger->info('Authentication request failed.', ['exception' => $failed]); diff --git a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php index d21531b2c7..8833394109 100644 --- a/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Serializer/Mapping/Loader/YamlFileLoader.php @@ -128,7 +128,7 @@ class YamlFileLoader extends FileLoader return array_keys($this->classes); } - private function getClassesFromYaml() + private function getClassesFromYaml(): array { if (!stream_is_local($this->file)) { throw new MappingException(sprintf('This is not a local file "%s".', $this->file)); diff --git a/src/Symfony/Component/Serializer/NameConverter/MetadataAwareNameConverter.php b/src/Symfony/Component/Serializer/NameConverter/MetadataAwareNameConverter.php index 3565106f95..970395efe1 100644 --- a/src/Symfony/Component/Serializer/NameConverter/MetadataAwareNameConverter.php +++ b/src/Symfony/Component/Serializer/NameConverter/MetadataAwareNameConverter.php @@ -69,7 +69,7 @@ final class MetadataAwareNameConverter implements AdvancedNameConverterInterface return self::$denormalizeCache[$class][$propertyName] ?? $this->denormalizeFallback($propertyName, $class, $format, $context); } - private function getCacheValueForNormalization(string $propertyName, string $class) + private function getCacheValueForNormalization(string $propertyName, string $class): ?string { if (!$this->metadataFactory->hasMetadataFor($class)) { return null; @@ -83,12 +83,12 @@ final class MetadataAwareNameConverter implements AdvancedNameConverterInterface return $attributesMetadata[$propertyName]->getSerializedName() ?? null; } - private function normalizeFallback(string $propertyName, string $class = null, string $format = null, array $context = []) + private function normalizeFallback(string $propertyName, string $class = null, string $format = null, array $context = []): string { return $this->fallbackNameConverter ? $this->fallbackNameConverter->normalize($propertyName, $class, $format, $context) : $propertyName; } - private function getCacheValueForDenormalization(string $propertyName, string $class) + private function getCacheValueForDenormalization(string $propertyName, string $class): ?string { if (!isset(self::$attributesMetadataCache[$class])) { self::$attributesMetadataCache[$class] = $this->getCacheValueForAttributesMetadata($class); @@ -97,7 +97,7 @@ final class MetadataAwareNameConverter implements AdvancedNameConverterInterface return self::$attributesMetadataCache[$class][$propertyName] ?? null; } - private function denormalizeFallback(string $propertyName, string $class = null, string $format = null, array $context = []) + private function denormalizeFallback(string $propertyName, string $class = null, string $format = null, array $context = []): string { return $this->fallbackNameConverter ? $this->fallbackNameConverter->denormalize($propertyName, $class, $format, $context) : $propertyName; } diff --git a/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php index b65e8e2639..f4d0045d84 100644 --- a/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php +++ b/src/Symfony/Component/Serializer/Normalizer/DateIntervalNormalizer.php @@ -132,7 +132,7 @@ class DateIntervalNormalizer implements NormalizerInterface, DenormalizerInterfa return \DateInterval::class === $type; } - private function isISO8601(string $string) + private function isISO8601(string $string): bool { return preg_match('/^[\-+]?P(?=\w*(?:\d|%\w))(?:\d+Y|%[yY]Y)?(?:\d+M|%[mM]M)?(?:(?:\d+D|%[dD]D)|(?:\d+W|%[wW]W))?(?:T(?:\d+H|[hH]H)?(?:\d+M|[iI]M)?(?:\d+S|[sS]S)?)?$/', $string); } diff --git a/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php index 4731d8fbee..0607ec1d7f 100644 --- a/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php +++ b/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php @@ -154,7 +154,7 @@ class DateTimeNormalizer implements NormalizerInterface, DenormalizerInterface, return $formattedErrors; } - private function getTimezone(array $context) + private function getTimezone(array $context): ?\DateTimeZone { $dateTimeZone = $context[self::TIMEZONE_KEY] ?? $this->defaultContext[self::TIMEZONE_KEY]; diff --git a/src/Symfony/Component/Stopwatch/StopwatchEvent.php b/src/Symfony/Component/Stopwatch/StopwatchEvent.php index cb1e333db9..351e0f1e13 100644 --- a/src/Symfony/Component/Stopwatch/StopwatchEvent.php +++ b/src/Symfony/Component/Stopwatch/StopwatchEvent.php @@ -225,7 +225,7 @@ class StopwatchEvent * * @throws \InvalidArgumentException When the raw time is not valid */ - private function formatTime(float $time) + private function formatTime(float $time): float { return round($time, 1); } diff --git a/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php b/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php index e88a4e3079..829e0d0c25 100644 --- a/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php +++ b/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php @@ -82,7 +82,7 @@ class IcuResFileDumper extends FileDumper return $header.$root.$data; } - private function writePadding(string $data) + private function writePadding(string $data): ?string { $padding = \strlen($data) % 4; diff --git a/src/Symfony/Component/Translation/Dumper/MoFileDumper.php b/src/Symfony/Component/Translation/Dumper/MoFileDumper.php index 27be16d573..5a96dacec0 100644 --- a/src/Symfony/Component/Translation/Dumper/MoFileDumper.php +++ b/src/Symfony/Component/Translation/Dumper/MoFileDumper.php @@ -75,7 +75,7 @@ class MoFileDumper extends FileDumper return 'mo'; } - private function writeLong($str) + private function writeLong($str): string { return pack('V*', $str); } diff --git a/src/Symfony/Component/Translation/Dumper/PoFileDumper.php b/src/Symfony/Component/Translation/Dumper/PoFileDumper.php index 70a97c7768..2cc9e8895d 100644 --- a/src/Symfony/Component/Translation/Dumper/PoFileDumper.php +++ b/src/Symfony/Component/Translation/Dumper/PoFileDumper.php @@ -119,7 +119,7 @@ EOF; return 'po'; } - private function escape(string $str) + private function escape(string $str): string { return addcslashes($str, "\0..\37\42\134"); } diff --git a/src/Symfony/Component/Translation/Extractor/PhpStringTokenParser.php b/src/Symfony/Component/Translation/Extractor/PhpStringTokenParser.php index 8a8ccb1f1a..4531e91222 100644 --- a/src/Symfony/Component/Translation/Extractor/PhpStringTokenParser.php +++ b/src/Symfony/Component/Translation/Extractor/PhpStringTokenParser.php @@ -106,7 +106,7 @@ class PhpStringTokenParser ); } - private static function parseCallback($matches) + private static function parseCallback(array $matches): string { $str = $matches[1]; diff --git a/src/Symfony/Component/Translation/Interval.php b/src/Symfony/Component/Translation/Interval.php index a0e484da86..1adc43fbd5 100644 --- a/src/Symfony/Component/Translation/Interval.php +++ b/src/Symfony/Component/Translation/Interval.php @@ -99,7 +99,7 @@ class Interval EOF; } - private static function convertNumber($number) + private static function convertNumber(string $number): float { if ('-Inf' === $number) { return log(0); diff --git a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php index fdb3c84217..15a6ee5cfb 100644 --- a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php @@ -72,8 +72,6 @@ class XliffFileLoader implements LoaderInterface /** * Extract messages and metadata from DOMDocument into a MessageCatalogue. - * - * @param string $domain The domain */ private function extractXliff1(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain) { diff --git a/src/Symfony/Component/Translation/Translator.php b/src/Symfony/Component/Translation/Translator.php index f98698d136..bb36ee184c 100644 --- a/src/Symfony/Component/Translation/Translator.php +++ b/src/Symfony/Component/Translation/Translator.php @@ -410,7 +410,7 @@ EOF return $fallbackContent; } - private function getCatalogueCachePath(string $locale) + private function getCatalogueCachePath(string $locale): string { return $this->cacheDir.'/catalogue.'.$locale.'.'.strtr(substr(base64_encode(hash('sha256', serialize($this->fallbackLocales), true)), 0, 7), '/', '_').'.php'; } @@ -418,7 +418,7 @@ EOF /** * @internal */ - protected function doLoadCatalogue($locale): void + protected function doLoadCatalogue(string $locale): void { $this->catalogues[$locale] = new MessageCatalogue($locale);