diff --git a/APM/CommandLoggerRegistry.php b/APM/CommandLoggerRegistry.php
index 5d896db7..27a5c053 100644
--- a/APM/CommandLoggerRegistry.php
+++ b/APM/CommandLoggerRegistry.php
@@ -22,14 +22,14 @@ public function __construct(iterable $commandLoggers)
public function register(): void
{
- array_map(static function (CommandLoggerInterface $commandLogger) {
+ array_map(static function (CommandLoggerInterface $commandLogger): void {
$commandLogger->register();
}, $this->commandLoggers);
}
public function unregister(): void
{
- array_map(static function (CommandLoggerInterface $commandLogger) {
+ array_map(static function (CommandLoggerInterface $commandLogger): void {
$commandLogger->unregister();
}, $this->commandLoggers);
}
diff --git a/Command/DoctrineODMCommand.php b/Command/DoctrineODMCommand.php
index 496da907..46988364 100644
--- a/Command/DoctrineODMCommand.php
+++ b/Command/DoctrineODMCommand.php
@@ -21,8 +21,7 @@ public function __construct(private ManagerRegistry $registry)
parent::__construct();
}
- /** @param string $dmName */
- public static function setApplicationDocumentManager(Application $application, $dmName): void
+ public static function setApplicationDocumentManager(Application $application, string $dmName): void
{
$dm = $application->getKernel()->getContainer()->get('doctrine_mongodb')->getManager($dmName);
$helperSet = $application->getHelperSet();
diff --git a/Command/LoadDataFixturesDoctrineODMCommand.php b/Command/LoadDataFixturesDoctrineODMCommand.php
index e43e10b5..2e0e43ff 100644
--- a/Command/LoadDataFixturesDoctrineODMCommand.php
+++ b/Command/LoadDataFixturesDoctrineODMCommand.php
@@ -83,7 +83,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$purger = new MongoDBPurger($dm);
$executor = new MongoDBExecutor($dm, $purger);
- $executor->setLogger(static function ($message) use ($output) {
+ $executor->setLogger(static function ($message) use ($output): void {
$output->writeln(sprintf(' > %s', $message));
});
$executor->execute($fixtures, $input->getOption('append'));
diff --git a/DependencyInjection/Compiler/DoctrineMongoDBMappingsPass.php b/DependencyInjection/Compiler/DoctrineMongoDBMappingsPass.php
index 574cd605..ff04ddce 100644
--- a/DependencyInjection/Compiler/DoctrineMongoDBMappingsPass.php
+++ b/DependencyInjection/Compiler/DoctrineMongoDBMappingsPass.php
@@ -32,7 +32,7 @@ final class DoctrineMongoDBMappingsPass extends RegisterMappingsPass
* executes if this parameter exists in the service container.
* @param string[] $aliasMap Map of alias to namespace.
*/
- public function __construct($driver, array $namespaces, array $managerParameters, $enabledParameter = false, array $aliasMap = [])
+ public function __construct(Definition|Reference $driver, array $namespaces, array $managerParameters, string|false $enabledParameter = false, array $aliasMap = [])
{
$managerParameters[] = 'doctrine_mongodb.odm.default_document_manager';
@@ -58,10 +58,8 @@ public function __construct($driver, array $namespaces, array $managerParameters
* enable the mapping. Set to false to not do any check,
* optional.
* @param string[] $aliasMap Map of alias to namespace.
- *
- * @return DoctrineMongoDBMappingsPass
*/
- public static function createXmlMappingDriver(array $mappings, array $managerParameters, $enabledParameter = false, array $aliasMap = [])
+ public static function createXmlMappingDriver(array $mappings, array $managerParameters, string|false $enabledParameter = false, array $aliasMap = []): DoctrineMongoDBMappingsPass
{
$arguments = [$mappings, '.mongodb.xml'];
$locator = new Definition(SymfonyFileLocator::class, $arguments);
@@ -80,10 +78,8 @@ public static function createXmlMappingDriver(array $mappings, array $managerPar
* enable the mapping. Set to false to not do any check,
* optional.
* @param string[] $aliasMap Map of alias to namespace.
- *
- * @return DoctrineMongoDBMappingsPass
*/
- public static function createPhpMappingDriver(array $mappings, array $managerParameters = [], $enabledParameter = false, array $aliasMap = [])
+ public static function createPhpMappingDriver(array $mappings, array $managerParameters = [], string|false $enabledParameter = false, array $aliasMap = []): DoctrineMongoDBMappingsPass
{
$arguments = [$mappings, '.php'];
$locator = new Definition(SymfonyFileLocator::class, $arguments);
@@ -103,10 +99,8 @@ public static function createPhpMappingDriver(array $mappings, array $managerPar
* enable the mapping. Set to false to not do any check,
* optional.
* @param string[] $aliasMap Map of alias to namespace.
- *
- * @return DoctrineMongoDBMappingsPass
*/
- public static function createAttributeMappingDriver(array $namespaces, array $directories, array $managerParameters, $enabledParameter = false, array $aliasMap = [])
+ public static function createAttributeMappingDriver(array $namespaces, array $directories, array $managerParameters, string|false $enabledParameter = false, array $aliasMap = []): DoctrineMongoDBMappingsPass
{
$driver = new Definition(AttributeDriver::class, [$directories]);
@@ -124,10 +118,8 @@ public static function createAttributeMappingDriver(array $namespaces, array $di
* enable the mapping. Set to false to not do any check,
* optional.
* @param string[] $aliasMap Map of alias to namespace.
- *
- * @return DoctrineMongoDBMappingsPass
*/
- public static function createStaticPhpMappingDriver(array $namespaces, array $directories, array $managerParameters = [], $enabledParameter = false, array $aliasMap = [])
+ public static function createStaticPhpMappingDriver(array $namespaces, array $directories, array $managerParameters = [], string|false $enabledParameter = false, array $aliasMap = []): DoctrineMongoDBMappingsPass
{
$driver = new Definition(StaticPHPDriver::class, [$directories]);
diff --git a/DependencyInjection/DoctrineMongoDBExtension.php b/DependencyInjection/DoctrineMongoDBExtension.php
index cfda1637..fc4e6be6 100644
--- a/DependencyInjection/DoctrineMongoDBExtension.php
+++ b/DependencyInjection/DoctrineMongoDBExtension.php
@@ -37,14 +37,13 @@
use Symfony\Component\Messenger\MessageBusInterface;
use Throwable;
-use function array_keys;
+use function array_key_first;
use function array_merge;
use function class_exists;
use function class_implements;
use function in_array;
use function interface_exists;
use function is_dir;
-use function reset;
use function sprintf;
/**
@@ -71,15 +70,13 @@ public function load(array $configs, ContainerBuilder $container): void
$loader->load('mongodb.xml');
if (empty($config['default_connection'])) {
- $keys = array_keys($config['connections']);
- $config['default_connection'] = reset($keys);
+ $config['default_connection'] = array_key_first($config['connections']);
}
$container->setParameter('doctrine_mongodb.odm.default_connection', $config['default_connection']);
if (empty($config['default_document_manager'])) {
- $keys = array_keys($config['document_managers']);
- $config['default_document_manager'] = reset($keys);
+ $config['default_document_manager'] = array_key_first($config['document_managers']);
}
$container->setParameter('doctrine_mongodb.odm.default_document_manager', $config['default_document_manager']);
@@ -156,7 +153,7 @@ public function load(array $configs, ContainerBuilder $container): void
*
* @return array
*/
- protected function overrideParameters($options, ContainerBuilder $container)
+ protected function overrideParameters(array $options, ContainerBuilder $container): array
{
$overrides = [
'proxy_namespace',
@@ -189,11 +186,11 @@ protected function overrideParameters($options, ContainerBuilder $container)
* Loads the document managers configuration.
*
* @param array $dmConfigs An array of document manager configs
- * @param string $defaultDM The default document manager name
+ * @param string|null $defaultDM The default document manager name
* @param string $defaultDB The default db name
* @param ContainerBuilder $container A ContainerBuilder instance
*/
- protected function loadDocumentManagers(array $dmConfigs, $defaultDM, $defaultDB, ContainerBuilder $container)
+ protected function loadDocumentManagers(array $dmConfigs, string|null $defaultDM, string $defaultDB, ContainerBuilder $container): void
{
$dms = [];
foreach ($dmConfigs as $name => $documentManager) {
@@ -214,11 +211,11 @@ protected function loadDocumentManagers(array $dmConfigs, $defaultDM, $defaultDB
* Loads a document manager configuration.
*
* @param array $documentManager A document manager configuration array
- * @param string $defaultDM The default document manager name
+ * @param string|null $defaultDM The default document manager name
* @param string $defaultDB The default db name
* @param ContainerBuilder $container A ContainerBuilder instance
*/
- protected function loadDocumentManager(array $documentManager, $defaultDM, $defaultDB, ContainerBuilder $container)
+ protected function loadDocumentManager(array $documentManager, string|null $defaultDM, string $defaultDB, ContainerBuilder $container): void
{
$connectionName = $documentManager['connection'] ?? $documentManager['name'];
$configurationId = sprintf('doctrine_mongodb.odm.%s_configuration', $documentManager['name']);
@@ -351,7 +348,7 @@ protected function loadDocumentManager(array $documentManager, $defaultDM, $defa
* @param array $config An array of connections configurations
* @param ContainerBuilder $container A ContainerBuilder instance
*/
- protected function loadConnections(array $connections, ContainerBuilder $container)
+ protected function loadConnections(array $connections, ContainerBuilder $container): void
{
$cons = [];
foreach ($connections as $name => $connection) {
@@ -488,7 +485,7 @@ private function normalizeDriverOptions(array $connection): array
* In the case of bundles everything is really optional (which leads to autodetection for this bundle) but
* in the mappings key everything except alias is a required argument.
*/
- protected function loadDocumentManagerBundlesMappingInformation(array $documentManager, Definition $odmConfigDef, ContainerBuilder $container)
+ protected function loadDocumentManagerBundlesMappingInformation(array $documentManager, Definition $odmConfigDef, ContainerBuilder $container): void
{
// reset state of drivers and alias map. They are only used by this methods and children.
$this->drivers = [];
@@ -553,13 +550,12 @@ public function getAlias(): string
*
* @return string The XML namespace
*/
- public function getNamespace()
+ public function getNamespace(): string
{
return 'http://symfony.com/schema/dic/doctrine/odm/mongodb';
}
- /** @return string */
- public function getXsdValidationBasePath()
+ public function getXsdValidationBasePath(): string
{
return __DIR__ . '/../Resources/config/schema';
}
diff --git a/DoctrineMongoDBBundle.php b/DoctrineMongoDBBundle.php
index bd88f530..c168fdf5 100644
--- a/DoctrineMongoDBBundle.php
+++ b/DoctrineMongoDBBundle.php
@@ -33,8 +33,7 @@ class DoctrineMongoDBBundle extends Bundle
/** @var callable|null */
private $autoloader;
- /** @return void */
- public function build(ContainerBuilder $container)
+ public function build(ContainerBuilder $container): void
{
$container->addCompilerPass(new CacheCompatibilityPass());
$container->addCompilerPass(new RegisterEventListenersAndSubscribersPass('doctrine_mongodb.odm.connections', 'doctrine_mongodb.odm.%s_connection.event_manager', 'doctrine_mongodb.odm'), PassConfig::TYPE_BEFORE_OPTIMIZATION);
@@ -62,8 +61,7 @@ public function getContainerExtension(): ?ExtensionInterface
return new DoctrineMongoDBExtension();
}
- /** @return void */
- public function boot()
+ public function boot(): void
{
$registry = $this->container->get('doctrine_mongodb');
assert($registry instanceof ManagerRegistry);
@@ -106,8 +104,7 @@ private function unregisterCommandLoggers(): void
$commandLoggerRegistry->unregister();
}
- /** @return void */
- public function shutdown()
+ public function shutdown(): void
{
$this->unregisterAutoloader();
$this->unregisterCommandLoggers();
diff --git a/Fixture/FixtureGroupInterface.php b/Fixture/FixtureGroupInterface.php
index fad76935..4c8bcc3e 100644
--- a/Fixture/FixtureGroupInterface.php
+++ b/Fixture/FixtureGroupInterface.php
@@ -15,5 +15,5 @@ interface FixtureGroupInterface
*
* @return string[]
*/
- public static function getGroups();
+ public static function getGroups(): array;
}
diff --git a/Form/ChoiceList/MongoDBQueryBuilderLoader.php b/Form/ChoiceList/MongoDBQueryBuilderLoader.php
index f2e7eeff..1911e744 100644
--- a/Form/ChoiceList/MongoDBQueryBuilderLoader.php
+++ b/Form/ChoiceList/MongoDBQueryBuilderLoader.php
@@ -27,18 +27,9 @@ class MongoDBQueryBuilderLoader implements EntityLoaderInterface
/**
* Construct an ORM Query Builder Loader
- *
- * @param Builder|Closure $queryBuilder
- * @param string $class
*/
- public function __construct($queryBuilder, ?ObjectManager $manager = null, $class = null)
+ public function __construct(Builder|Closure $queryBuilder, ?ObjectManager $manager = null, ?string $class = null)
{
- // If a query builder was passed, it must be a closure or QueryBuilder
- // instance
- if (! ($queryBuilder instanceof Builder || $queryBuilder instanceof Closure)) {
- throw new UnexpectedTypeException($queryBuilder, Builder::class . ' or ' . Closure::class);
- }
-
if ($queryBuilder instanceof Closure) {
$queryBuilder = $queryBuilder($manager->getRepository($class));
diff --git a/Form/DoctrineMongoDBExtension.php b/Form/DoctrineMongoDBExtension.php
index 7428e77c..a74be8ec 100644
--- a/Form/DoctrineMongoDBExtension.php
+++ b/Form/DoctrineMongoDBExtension.php
@@ -14,12 +14,8 @@
*/
class DoctrineMongoDBExtension extends AbstractExtension
{
- /** @var ManagerRegistry */
- protected $registry;
-
- public function __construct(ManagerRegistry $registry)
+ public function __construct(private ManagerRegistry $registry)
{
- $this->registry = $registry;
}
/** @return FormTypeInterface[] */
diff --git a/Form/DoctrineMongoDBTypeGuesser.php b/Form/DoctrineMongoDBTypeGuesser.php
index 8330eec4..ed663502 100644
--- a/Form/DoctrineMongoDBTypeGuesser.php
+++ b/Form/DoctrineMongoDBTypeGuesser.php
@@ -27,15 +27,11 @@
*/
class DoctrineMongoDBTypeGuesser implements FormTypeGuesserInterface
{
- /** @var ManagerRegistry */
- protected $registry;
-
/** @var array */
private array $cache = [];
- public function __construct(ManagerRegistry $registry)
+ public function __construct(private ManagerRegistry $registry)
{
- $this->registry = $registry;
}
public function guessType(string $class, string $property): ?TypeGuess
@@ -165,12 +161,8 @@ public function guessPattern(string $class, string $property): ?ValueGuess
return null;
}
- /**
- * @param string $class
- *
- * @return array{ClassMetadata, string}|null
- */
- protected function getMetadata($class)
+ /** @return array{ClassMetadata, string}|null */
+ protected function getMetadata(string $class): ?array
{
if (array_key_exists($class, $this->cache)) {
return $this->cache[$class];
diff --git a/Form/Type/DocumentType.php b/Form/Type/DocumentType.php
index fe708c39..9f9ef830 100644
--- a/Form/Type/DocumentType.php
+++ b/Form/Type/DocumentType.php
@@ -60,13 +60,9 @@ public function configureOptions(OptionsResolver $resolver): void
$resolver->setAllowedTypes('document_manager', ['null', 'string', DocumentManager::class]);
}
- /**
- * @internal Symfony 2.8 compatibility
- *
- * @return string
- */
+ /** @internal Symfony 2.8 compatibility */
#[ReturnTypeWillChange]
- public function getBlockPrefix()
+ public function getBlockPrefix(): string
{
return 'document';
}
diff --git a/Loader/SymfonyFixturesLoader.php b/Loader/SymfonyFixturesLoader.php
index 61f8876e..e37b926b 100644
--- a/Loader/SymfonyFixturesLoader.php
+++ b/Loader/SymfonyFixturesLoader.php
@@ -67,10 +67,9 @@ public function addFixture(FixtureInterface $fixture): void
* Overridden to not allow new fixture classes to be instantiated.
*
* @param string $class
- *
- * @return FixtureInterface
+ * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingAnyTypeHint
*/
- protected function createFixture($class)
+ protected function createFixture($class): FixtureInterface
{
/*
* We don't actually need to create the fixture. We just
@@ -95,7 +94,7 @@ protected function createFixture($class)
*
* @return FixtureInterface[]
*/
- public function getFixtures(array $groups = [])
+ public function getFixtures(array $groups = []): array
{
$fixtures = parent::getFixtures();
@@ -135,7 +134,7 @@ private function addGroupsFixtureMapping(string $className, array $groups): void
}
/** @param array, FixtureInterface> $fixtures An array of fixtures with class names as keys */
- private function validateDependencies(array $fixtures, FixtureInterface $fixture)
+ private function validateDependencies(array $fixtures, FixtureInterface $fixture): void
{
if (! $fixture instanceof DependentFixtureInterface) {
return;
diff --git a/Loader/SymfonyFixturesLoaderInterface.php b/Loader/SymfonyFixturesLoaderInterface.php
index 13078b08..b94ec849 100644
--- a/Loader/SymfonyFixturesLoaderInterface.php
+++ b/Loader/SymfonyFixturesLoaderInterface.php
@@ -15,14 +15,12 @@ interface SymfonyFixturesLoaderInterface
*
* @param list $fixtures
*/
- public function addFixtures(array $fixtures);
+ public function addFixtures(array $fixtures): void;
/**
* Add a single fixture
- *
- * @return mixed
*/
- public function addFixture(FixtureInterface $fixture);
+ public function addFixture(FixtureInterface $fixture): void;
/**
* Returns the array of data fixtures to execute.
@@ -31,5 +29,5 @@ public function addFixture(FixtureInterface $fixture);
*
* @return FixtureInterface[]
*/
- public function getFixtures(array $groups = []);
+ public function getFixtures(array $groups = []): array;
}
diff --git a/ManagerConfigurator.php b/ManagerConfigurator.php
index 14a6d699..36878ec6 100644
--- a/ManagerConfigurator.php
+++ b/ManagerConfigurator.php
@@ -24,10 +24,8 @@ public function __construct(private array $enabledFilters = [])
/**
* Create a connection by name.
- *
- * @return void
*/
- public function configure(DocumentManager $documentManager)
+ public function configure(DocumentManager $documentManager): void
{
$this->enableFilters($documentManager);
}
diff --git a/ManagerRegistry.php b/ManagerRegistry.php
index 113d9f85..41d5a420 100644
--- a/ManagerRegistry.php
+++ b/ManagerRegistry.php
@@ -13,13 +13,7 @@
class ManagerRegistry extends BaseManagerRegistry
{
- /**
- * @param string $name
- * @param string $defaultConnection
- * @param string $defaultManager
- * @param string $proxyInterfaceName
- */
- public function __construct($name, array $connections, array $managers, $defaultConnection, $defaultManager, $proxyInterfaceName, ?ContainerInterface $container = null)
+ public function __construct(string $name, array $connections, array $managers, string $defaultConnection, string $defaultManager, string $proxyInterfaceName, ?ContainerInterface $container = null)
{
$this->container = $container;
@@ -29,13 +23,9 @@ public function __construct($name, array $connections, array $managers, $default
/**
* Resolves a registered namespace alias to the full namespace.
*
- * @param string $alias
- *
- * @return string
- *
* @throws MongoDBException
*/
- public function getAliasNamespace($alias)
+ public function getAliasNamespace(string $alias): string
{
foreach (array_keys($this->getManagers()) as $name) {
$objectManager = $this->getManager($name);
diff --git a/Repository/ServiceRepositoryTrait.php b/Repository/ServiceRepositoryTrait.php
index fb02880b..54478a8b 100644
--- a/Repository/ServiceRepositoryTrait.php
+++ b/Repository/ServiceRepositoryTrait.php
@@ -19,7 +19,7 @@ trait ServiceRepositoryTrait
* @param string $documentClass The class name of the entity this repository manages
* @psalm-param class-string $documentClass
*/
- public function __construct(ManagerRegistry $registry, $documentClass)
+ public function __construct(ManagerRegistry $registry, string $documentClass)
{
$manager = $registry->getManagerForClass($documentClass);
assert($manager instanceof DocumentManager || $manager === null);
diff --git a/Tests/DependencyInjection/DoctrineMongoDBExtensionTest.php b/Tests/DependencyInjection/DoctrineMongoDBExtensionTest.php
index fbe69742..97157558 100644
--- a/Tests/DependencyInjection/DoctrineMongoDBExtensionTest.php
+++ b/Tests/DependencyInjection/DoctrineMongoDBExtensionTest.php
@@ -102,7 +102,7 @@ public function testAsDocumentListenerAttribute(): void
}
/** @param string|string[] $bundles */
- private function getContainer($bundles = 'OtherXmlBundle'): ContainerBuilder
+ private function getContainer(string|array $bundles = 'OtherXmlBundle'): ContainerBuilder
{
$bundles = (array) $bundles;
diff --git a/Tests/Repository/ContainerRepositoryFactoryTest.php b/Tests/Repository/ContainerRepositoryFactoryTest.php
index 7e82c2d3..1f11fc9a 100644
--- a/Tests/Repository/ContainerRepositoryFactoryTest.php
+++ b/Tests/Repository/ContainerRepositoryFactoryTest.php
@@ -116,8 +116,7 @@ public function testCustomRepositoryIsNotAValidClass(): void
$factory->getRepository($dm, CoolDocument::class);
}
- /** @return MockObject|ContainerInterface */
- private function createContainer(array $services)
+ private function createContainer(array $services): MockObject|ContainerInterface
{
$container = $this->getMockBuilder(ContainerInterface::class)->getMock();
$container
@@ -130,8 +129,7 @@ private function createContainer(array $services)
return $container;
}
- /** @return MockObject|DocumentManager */
- private function createDocumentManager(array $documentRepositoryClasses)
+ private function createDocumentManager(array $documentRepositoryClasses): MockObject|DocumentManager
{
$classMetadatas = [];
foreach ($documentRepositoryClasses as $documentClass => $documentRepositoryClass) {
diff --git a/Validator/Constraints/Unique.php b/Validator/Constraints/Unique.php
index d6c437e7..ab3e2f16 100644
--- a/Validator/Constraints/Unique.php
+++ b/Validator/Constraints/Unique.php
@@ -19,19 +19,18 @@ class Unique extends UniqueEntity
/**
* @param string[]|string $fields The combination of fields that must contain unique values or a set of options
* @param bool|string[]|string $ignoreNull The combination of fields that ignore null values
- * @param mixed $payload
*/
public function __construct(
- $fields,
+ array|string $fields,
?string $message = null,
string $service = 'doctrine_odm.mongodb.unique',
?string $em = null,
?string $entityClass = null,
?string $repositoryMethod = null,
?string $errorPath = null,
- $ignoreNull = null,
+ bool|array|string|null $ignoreNull = null,
?array $groups = null,
- $payload = null,
+ mixed $payload = null,
array $options = [],
) {
parent::__construct(
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
index 0e6a99d2..6c3005b5 100644
--- a/phpcs.xml.dist
+++ b/phpcs.xml.dist
@@ -21,11 +21,6 @@
-
-
-
-
-