diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 4fc1b14d75..586a2e7a21 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -26,4 +26,4 @@ on: jobs: coding-standards: name: "Coding Standards" - uses: "doctrine/.github/.github/workflows/coding-standards.yml@2.1.0" + uses: "doctrine/.github/.github/workflows/coding-standards.yml@3.0.0" diff --git a/lib/Doctrine/Migrations/AbstractMigration.php b/lib/Doctrine/Migrations/AbstractMigration.php index a3279c6afc..098eb620a5 100644 --- a/lib/Doctrine/Migrations/AbstractMigration.php +++ b/lib/Doctrine/Migrations/AbstractMigration.php @@ -33,17 +33,14 @@ abstract class AbstractMigration /** @var AbstractPlatform */ protected $platform; - private LoggerInterface $logger; - /** @var Query[] */ private array $plannedSql = []; - public function __construct(Connection $connection, LoggerInterface $logger) + public function __construct(Connection $connection, private readonly LoggerInterface $logger) { $this->connection = $connection; $this->sm = $this->connection->createSchemaManager(); $this->platform = $this->connection->getDatabasePlatform(); - $this->logger = $logger; } /** @@ -126,7 +123,7 @@ public function down(Schema $schema): void protected function addSql( string $sql, array $params = [], - array $types = [] + array $types = [], ): void { $this->plannedSql[] = new Query($sql, $params, $types); } @@ -143,7 +140,7 @@ protected function write(string $message): void } /** @throws IrreversibleMigration */ - protected function throwIrreversibleMigrationException(?string $message = null): void + protected function throwIrreversibleMigrationException(string|null $message = null): void { if ($message === null) { $message = 'This migration is irreversible and cannot be reverted.'; diff --git a/lib/Doctrine/Migrations/Configuration/Configuration.php b/lib/Doctrine/Migrations/Configuration/Configuration.php index 05ffbd70ee..9e1f1cedc5 100644 --- a/lib/Doctrine/Migrations/Configuration/Configuration.php +++ b/lib/Doctrine/Migrations/Configuration/Configuration.php @@ -30,7 +30,7 @@ final class Configuration private bool $migrationsAreOrganizedByYearAndMonth = false; - private ?string $customTemplate = null; + private string|null $customTemplate = null; private bool $isDryRun = false; @@ -38,13 +38,13 @@ final class Configuration private bool $transactional = true; - private ?string $connectionName = null; + private string|null $connectionName = null; - private ?string $entityManagerName = null; + private string|null $entityManagerName = null; private bool $checkDbPlatform = true; - private ?MetadataStorageConfiguration $metadataStorageConfiguration = null; + private MetadataStorageConfiguration|null $metadataStorageConfiguration = null; private bool $frozen = false; @@ -78,7 +78,7 @@ public function addMigrationClass(string $className): void $this->migrationClasses[] = $className; } - public function getMetadataStorageConfiguration(): ?MetadataStorageConfiguration + public function getMetadataStorageConfiguration(): MetadataStorageConfiguration|null { return $this->metadataStorageConfiguration; } @@ -95,35 +95,35 @@ public function getMigrationDirectories(): array return $this->migrationsDirectories; } - public function getConnectionName(): ?string + public function getConnectionName(): string|null { return $this->connectionName; } - public function setConnectionName(?string $connectionName): void + public function setConnectionName(string|null $connectionName): void { $this->assertNotFrozen(); $this->connectionName = $connectionName; } - public function getEntityManagerName(): ?string + public function getEntityManagerName(): string|null { return $this->entityManagerName; } - public function setEntityManagerName(?string $entityManagerName): void + public function setEntityManagerName(string|null $entityManagerName): void { $this->assertNotFrozen(); $this->entityManagerName = $entityManagerName; } - public function setCustomTemplate(?string $customTemplate): void + public function setCustomTemplate(string|null $customTemplate): void { $this->assertNotFrozen(); $this->customTemplate = $customTemplate; } - public function getCustomTemplate(): ?string + public function getCustomTemplate(): string|null { return $this->customTemplate; } @@ -135,7 +135,7 @@ public function areMigrationsOrganizedByYear(): bool /** @throws MigrationException */ public function setMigrationsAreOrganizedByYear( - bool $migrationsAreOrganizedByYear = true + bool $migrationsAreOrganizedByYear = true, ): void { $this->assertNotFrozen(); $this->migrationsAreOrganizedByYear = $migrationsAreOrganizedByYear; @@ -143,7 +143,7 @@ public function setMigrationsAreOrganizedByYear( /** @throws MigrationException */ public function setMigrationsAreOrganizedByYearAndMonth( - bool $migrationsAreOrganizedByYearAndMonth = true + bool $migrationsAreOrganizedByYearAndMonth = true, ): void { $this->assertNotFrozen(); $this->migrationsAreOrganizedByYear = $migrationsAreOrganizedByYearAndMonth; @@ -202,18 +202,11 @@ public function setMigrationOrganization(string $migrationOrganization): void { $this->assertNotFrozen(); - switch (strtolower($migrationOrganization)) { - case self::VERSIONS_ORGANIZATION_NONE: - $this->setMigrationsAreOrganizedByYearAndMonth(false); - break; - case self::VERSIONS_ORGANIZATION_BY_YEAR: - $this->setMigrationsAreOrganizedByYear(); - break; - case self::VERSIONS_ORGANIZATION_BY_YEAR_AND_MONTH: - $this->setMigrationsAreOrganizedByYearAndMonth(); - break; - default: - throw UnknownConfigurationValue::new('organize_migrations', $migrationOrganization); - } + match (strtolower($migrationOrganization)) { + self::VERSIONS_ORGANIZATION_NONE => $this->setMigrationsAreOrganizedByYearAndMonth(false), + self::VERSIONS_ORGANIZATION_BY_YEAR => $this->setMigrationsAreOrganizedByYear(), + self::VERSIONS_ORGANIZATION_BY_YEAR_AND_MONTH => $this->setMigrationsAreOrganizedByYearAndMonth(), + default => throw UnknownConfigurationValue::new('organize_migrations', $migrationOrganization), + }; } } diff --git a/lib/Doctrine/Migrations/Configuration/Connection/ConfigurationFile.php b/lib/Doctrine/Migrations/Configuration/Connection/ConfigurationFile.php index 9ee3b64866..a160216d57 100644 --- a/lib/Doctrine/Migrations/Configuration/Connection/ConfigurationFile.php +++ b/lib/Doctrine/Migrations/Configuration/Connection/ConfigurationFile.php @@ -18,14 +18,11 @@ */ final class ConfigurationFile implements ConnectionLoader { - private string $filename; - - public function __construct(string $filename) + public function __construct(private readonly string $filename) { - $this->filename = $filename; } - public function getConnection(?string $name = null): Connection + public function getConnection(string|null $name = null): Connection { if ($name !== null) { throw new InvalidArgumentException('Only one connection is supported'); diff --git a/lib/Doctrine/Migrations/Configuration/Connection/ConnectionLoader.php b/lib/Doctrine/Migrations/Configuration/Connection/ConnectionLoader.php index 01d00ede06..bf9e3f2ab4 100644 --- a/lib/Doctrine/Migrations/Configuration/Connection/ConnectionLoader.php +++ b/lib/Doctrine/Migrations/Configuration/Connection/ConnectionLoader.php @@ -19,5 +19,5 @@ interface ConnectionLoader * * @throws ConnectionNotSpecified */ - public function getConnection(?string $name = null): Connection; + public function getConnection(string|null $name = null): Connection; } diff --git a/lib/Doctrine/Migrations/Configuration/Connection/ConnectionRegistryConnection.php b/lib/Doctrine/Migrations/Configuration/Connection/ConnectionRegistryConnection.php index 44f990e56a..635b4da45f 100644 --- a/lib/Doctrine/Migrations/Configuration/Connection/ConnectionRegistryConnection.php +++ b/lib/Doctrine/Migrations/Configuration/Connection/ConnectionRegistryConnection.php @@ -12,9 +12,9 @@ final class ConnectionRegistryConnection implements ConnectionLoader { private ConnectionRegistry $registry; - private ?string $defaultConnectionName = null; + private string|null $defaultConnectionName = null; - public static function withSimpleDefault(ConnectionRegistry $registry, ?string $connectionName = null): self + public static function withSimpleDefault(ConnectionRegistry $registry, string|null $connectionName = null): self { $that = new self(); $that->registry = $registry; @@ -27,7 +27,7 @@ private function __construct() { } - public function getConnection(?string $name = null): Connection + public function getConnection(string|null $name = null): Connection { $connection = $this->registry->getConnection($name ?? $this->defaultConnectionName); if (! $connection instanceof Connection) { diff --git a/lib/Doctrine/Migrations/Configuration/Connection/Exception/InvalidConfiguration.php b/lib/Doctrine/Migrations/Configuration/Connection/Exception/InvalidConfiguration.php index 1e9ab4cc38..324a5c8aa9 100644 --- a/lib/Doctrine/Migrations/Configuration/Connection/Exception/InvalidConfiguration.php +++ b/lib/Doctrine/Migrations/Configuration/Connection/Exception/InvalidConfiguration.php @@ -7,7 +7,6 @@ use Doctrine\DBAL\Connection; use InvalidArgumentException; -use function get_class; use function sprintf; final class InvalidConfiguration extends InvalidArgumentException implements LoaderException @@ -19,6 +18,6 @@ public static function invalidArrayConfiguration(): self public static function invalidConnectionType(object $connection): self { - return new self(sprintf('The returned connection must be a %s instance, %s returned.', Connection::class, get_class($connection))); + return new self(sprintf('The returned connection must be a %s instance, %s returned.', Connection::class, $connection::class)); } } diff --git a/lib/Doctrine/Migrations/Configuration/Connection/ExistingConnection.php b/lib/Doctrine/Migrations/Configuration/Connection/ExistingConnection.php index 2d747f2413..03709a60dd 100644 --- a/lib/Doctrine/Migrations/Configuration/Connection/ExistingConnection.php +++ b/lib/Doctrine/Migrations/Configuration/Connection/ExistingConnection.php @@ -9,14 +9,11 @@ final class ExistingConnection implements ConnectionLoader { - private Connection $connection; - - public function __construct(Connection $connection) + public function __construct(private readonly Connection $connection) { - $this->connection = $connection; } - public function getConnection(?string $name = null): Connection + public function getConnection(string|null $name = null): Connection { if ($name !== null) { throw InvalidLoader::noMultipleConnections($this); diff --git a/lib/Doctrine/Migrations/Configuration/EntityManager/ConfigurationFile.php b/lib/Doctrine/Migrations/Configuration/EntityManager/ConfigurationFile.php index 87e329e77a..9cf4025e5c 100644 --- a/lib/Doctrine/Migrations/Configuration/EntityManager/ConfigurationFile.php +++ b/lib/Doctrine/Migrations/Configuration/EntityManager/ConfigurationFile.php @@ -16,11 +16,8 @@ */ final class ConfigurationFile implements EntityManagerLoader { - private string $filename; - - public function __construct(string $filename) + public function __construct(private readonly string $filename) { - $this->filename = $filename; } /** @@ -29,7 +26,7 @@ public function __construct(string $filename) * * @throws InvalidConfiguration */ - public function getEntityManager(?string $name = null): EntityManagerInterface + public function getEntityManager(string|null $name = null): EntityManagerInterface { if ($name !== null) { throw new InvalidArgumentException('Only one connection is supported'); diff --git a/lib/Doctrine/Migrations/Configuration/EntityManager/EntityManagerLoader.php b/lib/Doctrine/Migrations/Configuration/EntityManager/EntityManagerLoader.php index 6315076a23..2982c9ad0c 100644 --- a/lib/Doctrine/Migrations/Configuration/EntityManager/EntityManagerLoader.php +++ b/lib/Doctrine/Migrations/Configuration/EntityManager/EntityManagerLoader.php @@ -14,5 +14,5 @@ */ interface EntityManagerLoader { - public function getEntityManager(?string $name = null): EntityManagerInterface; + public function getEntityManager(string|null $name = null): EntityManagerInterface; } diff --git a/lib/Doctrine/Migrations/Configuration/EntityManager/Exception/InvalidConfiguration.php b/lib/Doctrine/Migrations/Configuration/EntityManager/Exception/InvalidConfiguration.php index 568f95b133..22662b5a07 100644 --- a/lib/Doctrine/Migrations/Configuration/EntityManager/Exception/InvalidConfiguration.php +++ b/lib/Doctrine/Migrations/Configuration/EntityManager/Exception/InvalidConfiguration.php @@ -7,7 +7,6 @@ use Doctrine\ORM\EntityManagerInterface; use InvalidArgumentException; -use function get_class; use function sprintf; final class InvalidConfiguration extends InvalidArgumentException implements LoaderException @@ -19,6 +18,6 @@ public static function invalidArrayConfiguration(): self public static function invalidManagerType(object $em): self { - return new self(sprintf('The returned manager must implement %s, %s returned.', EntityManagerInterface::class, get_class($em))); + return new self(sprintf('The returned manager must implement %s, %s returned.', EntityManagerInterface::class, $em::class)); } } diff --git a/lib/Doctrine/Migrations/Configuration/EntityManager/ExistingEntityManager.php b/lib/Doctrine/Migrations/Configuration/EntityManager/ExistingEntityManager.php index a047531a47..5ccebe793b 100644 --- a/lib/Doctrine/Migrations/Configuration/EntityManager/ExistingEntityManager.php +++ b/lib/Doctrine/Migrations/Configuration/EntityManager/ExistingEntityManager.php @@ -9,14 +9,11 @@ final class ExistingEntityManager implements EntityManagerLoader { - private EntityManagerInterface $entityManager; - - public function __construct(EntityManagerInterface $entityManager) + public function __construct(private readonly EntityManagerInterface $entityManager) { - $this->entityManager = $entityManager; } - public function getEntityManager(?string $name = null): EntityManagerInterface + public function getEntityManager(string|null $name = null): EntityManagerInterface { if ($name !== null) { throw InvalidLoader::noMultipleEntityManagers($this); diff --git a/lib/Doctrine/Migrations/Configuration/EntityManager/ManagerRegistryEntityManager.php b/lib/Doctrine/Migrations/Configuration/EntityManager/ManagerRegistryEntityManager.php index 43911eb35d..380789419e 100644 --- a/lib/Doctrine/Migrations/Configuration/EntityManager/ManagerRegistryEntityManager.php +++ b/lib/Doctrine/Migrations/Configuration/EntityManager/ManagerRegistryEntityManager.php @@ -12,9 +12,9 @@ final class ManagerRegistryEntityManager implements EntityManagerLoader { private ManagerRegistry $registry; - private ?string $defaultManagerName = null; + private string|null $defaultManagerName = null; - public static function withSimpleDefault(ManagerRegistry $registry, ?string $managerName = null): self + public static function withSimpleDefault(ManagerRegistry $registry, string|null $managerName = null): self { $that = new self(); $that->registry = $registry; @@ -27,7 +27,7 @@ private function __construct() { } - public function getEntityManager(?string $name = null): EntityManagerInterface + public function getEntityManager(string|null $name = null): EntityManagerInterface { $managerName = $name ?? $this->defaultManagerName; diff --git a/lib/Doctrine/Migrations/Configuration/Exception/InvalidLoader.php b/lib/Doctrine/Migrations/Configuration/Exception/InvalidLoader.php index 1730b16a5b..46faed30ae 100644 --- a/lib/Doctrine/Migrations/Configuration/Exception/InvalidLoader.php +++ b/lib/Doctrine/Migrations/Configuration/Exception/InvalidLoader.php @@ -8,18 +8,17 @@ use Doctrine\Migrations\Configuration\EntityManager\EntityManagerLoader; use InvalidArgumentException; -use function get_class; use function sprintf; final class InvalidLoader extends InvalidArgumentException implements ConfigurationException { public static function noMultipleConnections(ConnectionLoader $loader): self { - return new self(sprintf('Only one connection is supported by %s', get_class($loader))); + return new self(sprintf('Only one connection is supported by %s', $loader::class)); } public static function noMultipleEntityManagers(EntityManagerLoader $loader): self { - return new self(sprintf('Only one entity manager is supported by %s', get_class($loader))); + return new self(sprintf('Only one entity manager is supported by %s', $loader::class)); } } diff --git a/lib/Doctrine/Migrations/Configuration/Exception/UnknownConfigurationValue.php b/lib/Doctrine/Migrations/Configuration/Exception/UnknownConfigurationValue.php index 4de3235281..b9d75bcc6c 100644 --- a/lib/Doctrine/Migrations/Configuration/Exception/UnknownConfigurationValue.php +++ b/lib/Doctrine/Migrations/Configuration/Exception/UnknownConfigurationValue.php @@ -11,8 +11,7 @@ final class UnknownConfigurationValue extends LogicException implements ConfigurationException { - /** @param mixed $value */ - public static function new(string $key, $value): self + public static function new(string $key, mixed $value): self { return new self( sprintf( diff --git a/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationArray.php b/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationArray.php index d03f257eee..1aaa88084d 100644 --- a/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationArray.php +++ b/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationArray.php @@ -18,13 +18,9 @@ final class ConfigurationArray implements ConfigurationLoader { - /** @var array */ - private array $configurations; - /** @param array $configurations */ - public function __construct(array $configurations) + public function __construct(private readonly array $configurations) { - $this->configurations = $configurations; } public function getConfiguration(): Configuration @@ -78,11 +74,10 @@ public function getConfiguration(): Configuration } /** - * @param mixed[] $configMap - * @param Configuration|TableMetadataStorageConfiguration $object - * @param array $data + * @param mixed[] $configMap + * @param array $data */ - private static function applyConfigs(array $configMap, $object, array $data): void + private static function applyConfigs(array $configMap, Configuration|TableMetadataStorageConfiguration $object, array $data): void { foreach ($data as $configurationKey => $configurationValue) { if (! isset($configMap[$configurationKey])) { diff --git a/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationFileWithFallback.php b/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationFileWithFallback.php index 947bb66685..62216c1f88 100644 --- a/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationFileWithFallback.php +++ b/lib/Doctrine/Migrations/Configuration/Migration/ConfigurationFileWithFallback.php @@ -18,11 +18,8 @@ */ final class ConfigurationFileWithFallback implements ConfigurationLoader { - private ?string $file = null; - - public function __construct(?string $file = null) + public function __construct(private readonly string|null $file = null) { - $this->file = $file; } public function getConfiguration(): Configuration diff --git a/lib/Doctrine/Migrations/Configuration/Migration/ExistingConfiguration.php b/lib/Doctrine/Migrations/Configuration/Migration/ExistingConfiguration.php index a24fa15c4e..286dfc7937 100644 --- a/lib/Doctrine/Migrations/Configuration/Migration/ExistingConfiguration.php +++ b/lib/Doctrine/Migrations/Configuration/Migration/ExistingConfiguration.php @@ -8,11 +8,8 @@ final class ExistingConfiguration implements ConfigurationLoader { - private Configuration $configurations; - - public function __construct(Configuration $configurations) + public function __construct(private readonly Configuration $configurations) { - $this->configurations = $configurations; } public function getConfiguration(): Configuration diff --git a/lib/Doctrine/Migrations/Configuration/Migration/YamlFile.php b/lib/Doctrine/Migrations/Configuration/Migration/YamlFile.php index 02a06ebcf7..f502bbee83 100644 --- a/lib/Doctrine/Migrations/Configuration/Migration/YamlFile.php +++ b/lib/Doctrine/Migrations/Configuration/Migration/YamlFile.php @@ -35,7 +35,7 @@ public function getConfiguration(): Configuration try { $config = Yaml::parse($content); - } catch (ParseException $e) { + } catch (ParseException) { throw YamlNotValid::malformed(); } diff --git a/lib/Doctrine/Migrations/DbalMigrator.php b/lib/Doctrine/Migrations/DbalMigrator.php index e32ff588ed..5e782dbfec 100644 --- a/lib/Doctrine/Migrations/DbalMigrator.php +++ b/lib/Doctrine/Migrations/DbalMigrator.php @@ -27,34 +27,19 @@ */ class DbalMigrator implements Migrator { - private Stopwatch $stopwatch; - - private LoggerInterface $logger; - - private Executor $executor; - - private Connection $connection; - - private EventDispatcher $dispatcher; - public function __construct( - Connection $connection, - EventDispatcher $dispatcher, - Executor $executor, - LoggerInterface $logger, - Stopwatch $stopwatch + private readonly Connection $connection, + private readonly EventDispatcher $dispatcher, + private readonly Executor $executor, + private readonly LoggerInterface $logger, + private readonly Stopwatch $stopwatch, ) { - $this->stopwatch = $stopwatch; - $this->logger = $logger; - $this->executor = $executor; - $this->connection = $connection; - $this->dispatcher = $dispatcher; } /** @return array */ private function executeMigrations( MigrationPlanList $migrationsPlan, - MigratorConfiguration $migratorConfiguration + MigratorConfiguration $migratorConfiguration, ): array { $allOrNothing = $migratorConfiguration->isAllOrNothing(); @@ -120,7 +105,7 @@ private function executePlan(MigrationPlanList $migrationsPlan, MigratorConfigur private function endMigrations( StopwatchEvent $stopwatchEvent, MigrationPlanList $migrationsPlan, - array $sql + array $sql, ): void { $stopwatchEvent->stop(); diff --git a/lib/Doctrine/Migrations/DependencyFactory.php b/lib/Doctrine/Migrations/DependencyFactory.php index 0e81d5b6b0..6c10f10eaf 100644 --- a/lib/Doctrine/Migrations/DependencyFactory.php +++ b/lib/Doctrine/Migrations/DependencyFactory.php @@ -62,14 +62,14 @@ class DependencyFactory /** @psalm-var array */ private $inResolution = []; - private ?Configuration $configuration = null; + private Configuration|null $configuration = null; /** @var object[]|callable[] */ private array $dependencies = []; - private ?Connection $connection = null; + private Connection|null $connection = null; - private ?EntityManagerInterface $em = null; + private EntityManagerInterface|null $em = null; private bool $frozen = false; @@ -77,7 +77,7 @@ class DependencyFactory private ConnectionLoader $connectionLoader; - private ?EntityManagerLoader $emLoader = null; + private EntityManagerLoader|null $emLoader = null; /** @var callable[] */ private array $factories = []; @@ -85,7 +85,7 @@ class DependencyFactory public static function fromConnection( ConfigurationLoader $configurationLoader, ConnectionLoader $connectionLoader, - ?LoggerInterface $logger = null + LoggerInterface|null $logger = null, ): self { $dependencyFactory = new self($logger); $dependencyFactory->configurationLoader = $configurationLoader; @@ -97,7 +97,7 @@ public static function fromConnection( public static function fromEntityManager( ConfigurationLoader $configurationLoader, EntityManagerLoader $emLoader, - ?LoggerInterface $logger = null + LoggerInterface|null $logger = null, ): self { $dependencyFactory = new self($logger); $dependencyFactory->configurationLoader = $configurationLoader; @@ -106,7 +106,7 @@ public static function fromEntityManager( return $dependencyFactory; } - private function __construct(?LoggerInterface $logger) + private function __construct(LoggerInterface|null $logger) { if ($logger === null) { return; @@ -243,7 +243,7 @@ public function hasSchemaProvider(): bool { try { $this->getSchemaProvider(); - } catch (MissingDependency $exception) { + } catch (MissingDependency) { return false; } @@ -331,8 +331,7 @@ public function getMigrationFactory(): MigrationFactory }); } - /** @param object|callable $service */ - public function setService(string $id, $service): void + public function setService(string $id, object|callable $service): void { $this->assertNotFrozen(); $this->dependencies[$id] = $service; @@ -477,8 +476,7 @@ public function getRollup(): Rollup }); } - /** @return mixed */ - private function getDependency(string $id, callable $callback) + private function getDependency(string $id, callable $callback): mixed { if (! isset($this->inResolution[$id]) && array_key_exists($id, $this->factories) && ! array_key_exists($id, $this->dependencies)) { $this->inResolution[$id] = true; diff --git a/lib/Doctrine/Migrations/Event/MigrationsEventArgs.php b/lib/Doctrine/Migrations/Event/MigrationsEventArgs.php index 05bcf6b570..9ef8deecda 100644 --- a/lib/Doctrine/Migrations/Event/MigrationsEventArgs.php +++ b/lib/Doctrine/Migrations/Event/MigrationsEventArgs.php @@ -14,20 +14,11 @@ */ final class MigrationsEventArgs extends EventArgs { - private Connection $connection; - - private MigrationPlanList $plan; - - private MigratorConfiguration $migratorConfiguration; - public function __construct( - Connection $connection, - MigrationPlanList $plan, - MigratorConfiguration $migratorConfiguration + private readonly Connection $connection, + private readonly MigrationPlanList $plan, + private readonly MigratorConfiguration $migratorConfiguration, ) { - $this->connection = $connection; - $this->plan = $plan; - $this->migratorConfiguration = $migratorConfiguration; } public function getConnection(): Connection diff --git a/lib/Doctrine/Migrations/Event/MigrationsVersionEventArgs.php b/lib/Doctrine/Migrations/Event/MigrationsVersionEventArgs.php index cc78bbbd13..f309240ba2 100644 --- a/lib/Doctrine/Migrations/Event/MigrationsVersionEventArgs.php +++ b/lib/Doctrine/Migrations/Event/MigrationsVersionEventArgs.php @@ -14,20 +14,11 @@ */ final class MigrationsVersionEventArgs extends EventArgs { - private Connection $connection; - - private MigrationPlan $plan; - - private MigratorConfiguration $migratorConfiguration; - public function __construct( - Connection $connection, - MigrationPlan $plan, - MigratorConfiguration $migratorConfiguration + private readonly Connection $connection, + private readonly MigrationPlan $plan, + private readonly MigratorConfiguration $migratorConfiguration, ) { - $this->connection = $connection; - $this->plan = $plan; - $this->migratorConfiguration = $migratorConfiguration; } public function getConnection(): Connection diff --git a/lib/Doctrine/Migrations/EventDispatcher.php b/lib/Doctrine/Migrations/EventDispatcher.php index 003a56ef70..82c13e1114 100644 --- a/lib/Doctrine/Migrations/EventDispatcher.php +++ b/lib/Doctrine/Migrations/EventDispatcher.php @@ -19,20 +19,14 @@ */ final class EventDispatcher { - private EventManager $eventManager; - - private Connection $connection; - - public function __construct(Connection $connection, EventManager $eventManager) + public function __construct(private readonly Connection $connection, private readonly EventManager $eventManager) { - $this->eventManager = $eventManager; - $this->connection = $connection; } public function dispatchMigrationEvent( string $eventName, MigrationPlanList $migrationsPlan, - MigratorConfiguration $migratorConfiguration + MigratorConfiguration $migratorConfiguration, ): void { $event = $this->createMigrationEventArgs($migrationsPlan, $migratorConfiguration); @@ -42,7 +36,7 @@ public function dispatchMigrationEvent( public function dispatchVersionEvent( string $eventName, MigrationPlan $plan, - MigratorConfiguration $migratorConfiguration + MigratorConfiguration $migratorConfiguration, ): void { $event = $this->createMigrationsVersionEventArgs( $plan, @@ -52,21 +46,21 @@ public function dispatchVersionEvent( $this->dispatchEvent($eventName, $event); } - private function dispatchEvent(string $eventName, ?EventArgs $args = null): void + private function dispatchEvent(string $eventName, EventArgs|null $args = null): void { $this->eventManager->dispatchEvent($eventName, $args); } private function createMigrationEventArgs( MigrationPlanList $migrationsPlan, - MigratorConfiguration $migratorConfiguration + MigratorConfiguration $migratorConfiguration, ): MigrationsEventArgs { return new MigrationsEventArgs($this->connection, $migrationsPlan, $migratorConfiguration); } private function createMigrationsVersionEventArgs( MigrationPlan $plan, - MigratorConfiguration $migratorConfiguration + MigratorConfiguration $migratorConfiguration, ): MigrationsVersionEventArgs { return new MigrationsVersionEventArgs( $this->connection, diff --git a/lib/Doctrine/Migrations/Exception/MigrationConfigurationConflict.php b/lib/Doctrine/Migrations/Exception/MigrationConfigurationConflict.php index 0b204ad4c7..b1a596ab69 100644 --- a/lib/Doctrine/Migrations/Exception/MigrationConfigurationConflict.php +++ b/lib/Doctrine/Migrations/Exception/MigrationConfigurationConflict.php @@ -7,7 +7,6 @@ use Doctrine\Migrations\AbstractMigration; use UnexpectedValueException; -use function get_class; use function sprintf; final class MigrationConfigurationConflict extends UnexpectedValueException implements MigrationException @@ -21,7 +20,7 @@ public static function migrationIsNotTransactional(AbstractMigration $migration) Solution: disable all-or-nothing in configuration or by command-line option, or enable transactions for all migrations EXCEPTION , - get_class($migration), + $migration::class, )); } } diff --git a/lib/Doctrine/Migrations/Exception/NoMigrationsFoundWithCriteria.php b/lib/Doctrine/Migrations/Exception/NoMigrationsFoundWithCriteria.php index 51db83de8d..b2d3feed42 100644 --- a/lib/Doctrine/Migrations/Exception/NoMigrationsFoundWithCriteria.php +++ b/lib/Doctrine/Migrations/Exception/NoMigrationsFoundWithCriteria.php @@ -10,7 +10,7 @@ final class NoMigrationsFoundWithCriteria extends RuntimeException implements MigrationException { - public static function new(?string $criteria = null): self + public static function new(string|null $criteria = null): self { return new self( $criteria !== null diff --git a/lib/Doctrine/Migrations/Exception/NoMigrationsToExecute.php b/lib/Doctrine/Migrations/Exception/NoMigrationsToExecute.php index 8a996dd619..ba8338594d 100644 --- a/lib/Doctrine/Migrations/Exception/NoMigrationsToExecute.php +++ b/lib/Doctrine/Migrations/Exception/NoMigrationsToExecute.php @@ -9,7 +9,7 @@ final class NoMigrationsToExecute extends RuntimeException implements MigrationException { - public static function new(?Throwable $previous = null): self + public static function new(Throwable|null $previous = null): self { return new self( 'Could not find any migrations to execute.', diff --git a/lib/Doctrine/Migrations/FileQueryWriter.php b/lib/Doctrine/Migrations/FileQueryWriter.php index 487980f31f..aa65fb23c6 100644 --- a/lib/Doctrine/Migrations/FileQueryWriter.php +++ b/lib/Doctrine/Migrations/FileQueryWriter.php @@ -21,16 +21,10 @@ */ final class FileQueryWriter implements QueryWriter { - private FileBuilder $migrationFileBuilder; - - private LoggerInterface $logger; - public function __construct( - FileBuilder $migrationFileBuilder, - LoggerInterface $logger + private readonly FileBuilder $migrationFileBuilder, + private readonly LoggerInterface $logger, ) { - $this->migrationFileBuilder = $migrationFileBuilder; - $this->logger = $logger; } /** @param array $queriesByVersion */ @@ -38,7 +32,7 @@ public function write( string $path, string $direction, array $queriesByVersion, - ?DateTimeInterface $now = null + DateTimeInterface|null $now = null, ): bool { $now ??= new DateTimeImmutable(); diff --git a/lib/Doctrine/Migrations/FilesystemMigrationsRepository.php b/lib/Doctrine/Migrations/FilesystemMigrationsRepository.php index 6520a0202a..1d148fe867 100644 --- a/lib/Doctrine/Migrations/FilesystemMigrationsRepository.php +++ b/lib/Doctrine/Migrations/FilesystemMigrationsRepository.php @@ -25,13 +25,6 @@ class FilesystemMigrationsRepository implements MigrationsRepository { private bool $migrationsLoaded = false; - /** @var array */ - private array $migrationDirectories; - - private MigrationFinder $migrationFinder; - - private MigrationFactory $versionFactory; - /** @var AvailableMigration[] */ private array $migrations = []; @@ -41,14 +34,10 @@ class FilesystemMigrationsRepository implements MigrationsRepository */ public function __construct( array $classes, - array $migrationDirectories, - MigrationFinder $migrationFinder, - MigrationFactory $versionFactory + private readonly array $migrationDirectories, + private readonly MigrationFinder $migrationFinder, + private readonly MigrationFactory $versionFactory, ) { - $this->migrationDirectories = $migrationDirectories; - $this->migrationFinder = $migrationFinder; - $this->versionFactory = $versionFactory; - $this->registerMigrations($classes); } diff --git a/lib/Doctrine/Migrations/Finder/Finder.php b/lib/Doctrine/Migrations/Finder/Finder.php index ce017ef135..71d39dab1c 100644 --- a/lib/Doctrine/Migrations/Finder/Finder.php +++ b/lib/Doctrine/Migrations/Finder/Finder.php @@ -45,7 +45,7 @@ protected function getRealPath(string $directory): string * * @throws NameIsReserved */ - protected function loadMigrations(array $files, ?string $namespace): array + protected function loadMigrations(array $files, string|null $namespace): array { $includedFiles = []; foreach ($files as $file) { @@ -75,7 +75,7 @@ protected function loadMigrations(array $files, ?string $namespace): array * * @return ReflectionClass[] the classes in `$files` */ - protected function loadMigrationClasses(array $files, ?string $namespace = null): array + protected function loadMigrationClasses(array $files, string|null $namespace = null): array { $classes = []; foreach (get_declared_classes() as $class) { diff --git a/lib/Doctrine/Migrations/Finder/GlobFinder.php b/lib/Doctrine/Migrations/Finder/GlobFinder.php index 41f4654736..ba9780d70a 100644 --- a/lib/Doctrine/Migrations/Finder/GlobFinder.php +++ b/lib/Doctrine/Migrations/Finder/GlobFinder.php @@ -15,7 +15,7 @@ final class GlobFinder extends Finder /** * {@inheritDoc} */ - public function findMigrations(string $directory, ?string $namespace = null): array + public function findMigrations(string $directory, string|null $namespace = null): array { $dir = $this->getRealPath($directory); diff --git a/lib/Doctrine/Migrations/Finder/MigrationFinder.php b/lib/Doctrine/Migrations/Finder/MigrationFinder.php index d86216579b..0d13b39c76 100644 --- a/lib/Doctrine/Migrations/Finder/MigrationFinder.php +++ b/lib/Doctrine/Migrations/Finder/MigrationFinder.php @@ -15,5 +15,5 @@ interface MigrationFinder * * @return string[] */ - public function findMigrations(string $directory, ?string $namespace = null): array; + public function findMigrations(string $directory, string|null $namespace = null): array; } diff --git a/lib/Doctrine/Migrations/Finder/RecursiveRegexFinder.php b/lib/Doctrine/Migrations/Finder/RecursiveRegexFinder.php index f33a77c724..4adebd3347 100644 --- a/lib/Doctrine/Migrations/Finder/RecursiveRegexFinder.php +++ b/lib/Doctrine/Migrations/Finder/RecursiveRegexFinder.php @@ -20,7 +20,7 @@ final class RecursiveRegexFinder extends Finder { private string $pattern; - public function __construct(?string $pattern = null) + public function __construct(string|null $pattern = null) { $this->pattern = $pattern ?? sprintf( '#^.+\\%s[^\\%s]+\\.php$#i', @@ -30,7 +30,7 @@ public function __construct(?string $pattern = null) } /** @return string[] */ - public function findMigrations(string $directory, ?string $namespace = null): array + public function findMigrations(string $directory, string|null $namespace = null): array { $dir = $this->getRealPath($directory); diff --git a/lib/Doctrine/Migrations/Generator/ConcatenationFileBuilder.php b/lib/Doctrine/Migrations/Generator/ConcatenationFileBuilder.php index 3b12a0050a..10ebc19706 100644 --- a/lib/Doctrine/Migrations/Generator/ConcatenationFileBuilder.php +++ b/lib/Doctrine/Migrations/Generator/ConcatenationFileBuilder.php @@ -21,7 +21,7 @@ final class ConcatenationFileBuilder implements FileBuilder public function buildMigrationFile( array $queriesByVersion, string $direction, - ?DateTimeInterface $now = null + DateTimeInterface|null $now = null, ): string { $now ??= new DateTimeImmutable(); $string = sprintf("-- Doctrine Migration File Generated on %s\n", $now->format('Y-m-d H:i:s')); diff --git a/lib/Doctrine/Migrations/Generator/DiffGenerator.php b/lib/Doctrine/Migrations/Generator/DiffGenerator.php index ffdda1b3ea..19b6f3da8d 100644 --- a/lib/Doctrine/Migrations/Generator/DiffGenerator.php +++ b/lib/Doctrine/Migrations/Generator/DiffGenerator.php @@ -24,48 +24,26 @@ */ class DiffGenerator { - private DBALConfiguration $dbalConfiguration; - - /** @var AbstractSchemaManager */ - private AbstractSchemaManager $schemaManager; - - private SchemaProvider $schemaProvider; - - private AbstractPlatform $platform; - - private Generator $migrationGenerator; - - private SqlGenerator $migrationSqlGenerator; - - private SchemaProvider $emptySchemaProvider; - /** @param AbstractSchemaManager $schemaManager */ public function __construct( - DBALConfiguration $dbalConfiguration, - AbstractSchemaManager $schemaManager, - SchemaProvider $schemaProvider, - AbstractPlatform $platform, - Generator $migrationGenerator, - SqlGenerator $migrationSqlGenerator, - SchemaProvider $emptySchemaProvider + private readonly DBALConfiguration $dbalConfiguration, + private readonly AbstractSchemaManager $schemaManager, + private readonly SchemaProvider $schemaProvider, + private readonly AbstractPlatform $platform, + private readonly Generator $migrationGenerator, + private readonly SqlGenerator $migrationSqlGenerator, + private readonly SchemaProvider $emptySchemaProvider, ) { - $this->dbalConfiguration = $dbalConfiguration; - $this->schemaManager = $schemaManager; - $this->schemaProvider = $schemaProvider; - $this->platform = $platform; - $this->migrationGenerator = $migrationGenerator; - $this->migrationSqlGenerator = $migrationSqlGenerator; - $this->emptySchemaProvider = $emptySchemaProvider; } /** @throws NoChangesDetected */ public function generate( string $fqcn, - ?string $filterExpression, + string|null $filterExpression, bool $formatted = false, int $lineLength = 120, bool $checkDbPlatform = true, - bool $fromEmptySchema = false + bool $fromEmptySchema = false, ): string { if ($filterExpression !== null) { $this->dbalConfiguration->setSchemaAssetsFilter( diff --git a/lib/Doctrine/Migrations/Generator/FileBuilder.php b/lib/Doctrine/Migrations/Generator/FileBuilder.php index 4f0476b9c5..55823c9496 100644 --- a/lib/Doctrine/Migrations/Generator/FileBuilder.php +++ b/lib/Doctrine/Migrations/Generator/FileBuilder.php @@ -15,5 +15,5 @@ interface FileBuilder { /** @param array $queriesByVersion */ - public function buildMigrationFile(array $queriesByVersion, string $direction, ?DateTimeInterface $now = null): string; + public function buildMigrationFile(array $queriesByVersion, string $direction, DateTimeInterface|null $now = null): string; } diff --git a/lib/Doctrine/Migrations/Generator/Generator.php b/lib/Doctrine/Migrations/Generator/Generator.php index 30b643fd88..fdd19854b8 100644 --- a/lib/Doctrine/Migrations/Generator/Generator.php +++ b/lib/Doctrine/Migrations/Generator/Generator.php @@ -63,19 +63,16 @@ public function down(Schema $schema): void TEMPLATE; - private Configuration $configuration; + private string|null $template = null; - private ?string $template = null; - - public function __construct(Configuration $configuration) + public function __construct(private readonly Configuration $configuration) { - $this->configuration = $configuration; } public function generateMigration( string $fqcn, - ?string $up = null, - ?string $down = null + string|null $up = null, + string|null $down = null, ): string { $mch = []; if (preg_match('~(.*)\\\\([^\\\\]+)~', $fqcn, $mch) === 0) { @@ -133,7 +130,7 @@ private function getTemplate(): string } /** @throws InvalidTemplateSpecified */ - private function loadCustomTemplate(): ?string + private function loadCustomTemplate(): string|null { $customTemplate = $this->configuration->getCustomTemplate(); diff --git a/lib/Doctrine/Migrations/Generator/SqlGenerator.php b/lib/Doctrine/Migrations/Generator/SqlGenerator.php index 8131a14abc..6d6e3909b6 100644 --- a/lib/Doctrine/Migrations/Generator/SqlGenerator.php +++ b/lib/Doctrine/Migrations/Generator/SqlGenerator.php @@ -27,14 +27,8 @@ */ class SqlGenerator { - private Configuration $configuration; - - private AbstractPlatform $platform; - - public function __construct(Configuration $configuration, AbstractPlatform $platform) + public function __construct(private readonly Configuration $configuration, private readonly AbstractPlatform $platform) { - $this->configuration = $configuration; - $this->platform = $platform; } /** @param string[] $sql */ @@ -42,7 +36,7 @@ public function generate( array $sql, bool $formatted = false, int $lineLength = 120, - bool $checkDbPlatform = true + bool $checkDbPlatform = true, ): string { $code = []; diff --git a/lib/Doctrine/Migrations/InlineParameterFormatter.php b/lib/Doctrine/Migrations/InlineParameterFormatter.php index dd21c4c3b6..468bd86a16 100644 --- a/lib/Doctrine/Migrations/InlineParameterFormatter.php +++ b/lib/Doctrine/Migrations/InlineParameterFormatter.php @@ -23,11 +23,8 @@ */ final class InlineParameterFormatter implements ParameterFormatter { - private Connection $connection; - - public function __construct(Connection $connection) + public function __construct(private readonly Connection $connection) { - $this->connection = $connection; } /** @@ -55,13 +52,7 @@ public function formatParameters(array $params, array $types): string return sprintf('with parameters (%s)', implode(', ', $formattedParameters)); } - /** - * @param string|int $value - * @param string|int $type - * - * @return string|int - */ - private function formatParameter($value, $type) + private function formatParameter(mixed $value, string|int $type): string|int|null { if (is_string($type) && Type::hasType($type)) { return Type::getType($type)->convertToDatabaseValue( diff --git a/lib/Doctrine/Migrations/Metadata/AvailableMigration.php b/lib/Doctrine/Migrations/Metadata/AvailableMigration.php index 7a8d8478ae..48c91d5f71 100644 --- a/lib/Doctrine/Migrations/Metadata/AvailableMigration.php +++ b/lib/Doctrine/Migrations/Metadata/AvailableMigration.php @@ -13,14 +13,8 @@ */ final class AvailableMigration { - private Version $version; - - private AbstractMigration $migration; - - public function __construct(Version $version, AbstractMigration $migration) + public function __construct(private readonly Version $version, private readonly AbstractMigration $migration) { - $this->version = $version; - $this->migration = $migration; } public function getVersion(): Version diff --git a/lib/Doctrine/Migrations/Metadata/ExecutedMigration.php b/lib/Doctrine/Migrations/Metadata/ExecutedMigration.php index 464c9c74ba..45743adfde 100644 --- a/lib/Doctrine/Migrations/Metadata/ExecutedMigration.php +++ b/lib/Doctrine/Migrations/Metadata/ExecutedMigration.php @@ -13,28 +13,16 @@ */ final class ExecutedMigration { - private Version $version; - - private ?DateTimeImmutable $executedAt = null; - - /** - * Seconds - */ - public ?float $executionTime = null; - - public function __construct(Version $version, ?DateTimeImmutable $executedAt = null, ?float $executionTime = null) + public function __construct(private readonly Version $version, private readonly DateTimeImmutable|null $executedAt = null, public float|null $executionTime = null) { - $this->version = $version; - $this->executedAt = $executedAt; - $this->executionTime = $executionTime; } - public function getExecutionTime(): ?float + public function getExecutionTime(): float|null { return $this->executionTime; } - public function getExecutedAt(): ?DateTimeImmutable + public function getExecutedAt(): DateTimeImmutable|null { return $this->executedAt; } diff --git a/lib/Doctrine/Migrations/Metadata/MigrationPlan.php b/lib/Doctrine/Migrations/Metadata/MigrationPlan.php index a38bddacbf..b7ee462552 100644 --- a/lib/Doctrine/Migrations/Metadata/MigrationPlan.php +++ b/lib/Doctrine/Migrations/Metadata/MigrationPlan.php @@ -14,16 +14,10 @@ */ final class MigrationPlan { - private string $direction; - private Version $version; - private AbstractMigration $migration; - public ?ExecutionResult $result = null; + public ExecutionResult|null $result = null; - public function __construct(Version $version, AbstractMigration $migration, string $direction) + public function __construct(private readonly Version $version, private readonly AbstractMigration $migration, private readonly string $direction) { - $this->version = $version; - $this->migration = $migration; - $this->direction = $direction; } public function getVersion(): Version @@ -31,7 +25,7 @@ public function getVersion(): Version return $this->version; } - public function getResult(): ?ExecutionResult + public function getResult(): ExecutionResult|null { return $this->result; } diff --git a/lib/Doctrine/Migrations/Metadata/MigrationPlanList.php b/lib/Doctrine/Migrations/Metadata/MigrationPlanList.php index 89fb34a7fe..e515eb1ef5 100644 --- a/lib/Doctrine/Migrations/Metadata/MigrationPlanList.php +++ b/lib/Doctrine/Migrations/Metadata/MigrationPlanList.php @@ -16,16 +16,11 @@ */ final class MigrationPlanList implements Countable { - private string $direction; - - /** @var MigrationPlan[] */ - private array $items = []; - /** @param MigrationPlan[] $items */ - public function __construct(array $items, string $direction) - { - $this->items = $items; - $this->direction = $direction; + public function __construct( + private array $items, + private readonly string $direction, + ) { } public function count(): int diff --git a/lib/Doctrine/Migrations/Metadata/Storage/TableMetadataStorage.php b/lib/Doctrine/Migrations/Metadata/Storage/TableMetadataStorage.php index a42b038e89..94a3cc18f8 100644 --- a/lib/Doctrine/Migrations/Metadata/Storage/TableMetadataStorage.php +++ b/lib/Doctrine/Migrations/Metadata/Storage/TableMetadataStorage.php @@ -41,8 +41,6 @@ final class TableMetadataStorage implements MetadataStorage private bool $schemaUpToDate = false; - private Connection $connection; - /** @var AbstractSchemaManager */ private AbstractSchemaManager $schemaManager; @@ -50,27 +48,20 @@ final class TableMetadataStorage implements MetadataStorage private TableMetadataStorageConfiguration $configuration; - private ?MigrationsRepository $migrationRepository = null; - - private MigrationsComparator $comparator; - public function __construct( - Connection $connection, - MigrationsComparator $comparator, - ?MetadataStorageConfiguration $configuration = null, - ?MigrationsRepository $migrationRepository = null + private readonly Connection $connection, + private MigrationsComparator $comparator, + MetadataStorageConfiguration|null $configuration = null, + private readonly MigrationsRepository|null $migrationRepository = null, ) { - $this->migrationRepository = $migrationRepository; - $this->connection = $connection; - $this->schemaManager = $connection->createSchemaManager(); - $this->platform = $connection->getDatabasePlatform(); + $this->schemaManager = $connection->createSchemaManager(); + $this->platform = $connection->getDatabasePlatform(); if ($configuration !== null && ! ($configuration instanceof TableMetadataStorageConfiguration)) { throw new InvalidArgumentException(sprintf('%s accepts only %s as configuration', self::class, TableMetadataStorageConfiguration::class)); } $this->configuration = $configuration ?? new TableMetadataStorageConfiguration(); - $this->comparator = $comparator; } public function getExecutedMigrations(): ExecutedMigrationsList @@ -198,7 +189,7 @@ public function ensureInitialized(): void $this->updateMigratedVersionsFromV1orV2toV3(); } - private function needsUpdate(Table $expectedTable): ?TableDiff + private function needsUpdate(Table $expectedTable): TableDiff|null { if ($this->schemaUpToDate) { return null; diff --git a/lib/Doctrine/Migrations/MigratorConfiguration.php b/lib/Doctrine/Migrations/MigratorConfiguration.php index 8121d64683..01e7ee154a 100644 --- a/lib/Doctrine/Migrations/MigratorConfiguration.php +++ b/lib/Doctrine/Migrations/MigratorConfiguration.php @@ -24,7 +24,7 @@ class MigratorConfiguration private bool $allOrNothing = false; - private ?Schema $fromSchema = null; + private Schema|null $fromSchema = null; public function isDryRun(): bool { @@ -74,7 +74,7 @@ public function setAllOrNothing(bool $allOrNothing): self return $this; } - public function getFromSchema(): ?Schema + public function getFromSchema(): Schema|null { return $this->fromSchema; } diff --git a/lib/Doctrine/Migrations/Provider/DBALSchemaDiffProvider.php b/lib/Doctrine/Migrations/Provider/DBALSchemaDiffProvider.php index 21bc1ef9d0..6e067f7249 100644 --- a/lib/Doctrine/Migrations/Provider/DBALSchemaDiffProvider.php +++ b/lib/Doctrine/Migrations/Provider/DBALSchemaDiffProvider.php @@ -20,16 +20,9 @@ */ class DBALSchemaDiffProvider implements SchemaDiffProvider { - private AbstractPlatform $platform; - - /** @var AbstractSchemaManager */ - private AbstractSchemaManager $schemaManager; - /** @param AbstractSchemaManager $schemaManager- */ - public function __construct(AbstractSchemaManager $schemaManager, AbstractPlatform $platform) + public function __construct(private readonly AbstractSchemaManager $schemaManager, private readonly AbstractPlatform $platform) { - $this->schemaManager = $schemaManager; - $this->platform = $platform; } public function createFromSchema(): Schema diff --git a/lib/Doctrine/Migrations/Provider/EmptySchemaProvider.php b/lib/Doctrine/Migrations/Provider/EmptySchemaProvider.php index 7c68b9a31c..3439124057 100644 --- a/lib/Doctrine/Migrations/Provider/EmptySchemaProvider.php +++ b/lib/Doctrine/Migrations/Provider/EmptySchemaProvider.php @@ -16,13 +16,9 @@ */ final class EmptySchemaProvider implements SchemaProvider { - /** @var AbstractSchemaManager */ - private AbstractSchemaManager $schemaManager; - /** @param AbstractSchemaManager $schemaManager */ - public function __construct(AbstractSchemaManager $schemaManager) + public function __construct(private readonly AbstractSchemaManager $schemaManager) { - $this->schemaManager = $schemaManager; } public function createSchema(): Schema diff --git a/lib/Doctrine/Migrations/Provider/LazySchemaDiffProvider.php b/lib/Doctrine/Migrations/Provider/LazySchemaDiffProvider.php index f5ed21fb5d..bd41962ce2 100644 --- a/lib/Doctrine/Migrations/Provider/LazySchemaDiffProvider.php +++ b/lib/Doctrine/Migrations/Provider/LazySchemaDiffProvider.php @@ -14,12 +14,9 @@ */ class LazySchemaDiffProvider implements SchemaDiffProvider { - private SchemaDiffProvider $originalSchemaManipulator; - public function __construct( - SchemaDiffProvider $originalSchemaManipulator + private readonly SchemaDiffProvider $originalSchemaManipulator, ) { - $this->originalSchemaManipulator = $originalSchemaManipulator; } public function createFromSchema(): Schema diff --git a/lib/Doctrine/Migrations/Query/Query.php b/lib/Doctrine/Migrations/Query/Query.php index 660698a8b4..55ef592f0a 100644 --- a/lib/Doctrine/Migrations/Query/Query.php +++ b/lib/Doctrine/Migrations/Query/Query.php @@ -13,27 +13,15 @@ */ final class Query { - private string $statement; - - /** @var mixed[] */ - private array $parameters; - - /** @var mixed[] */ - private array $types; - /** * @param mixed[] $parameters * @param mixed[] $types */ - public function __construct(string $statement, array $parameters = [], array $types = []) + public function __construct(private string $statement, private array $parameters = [], private array $types = []) { if (count($types) > count($parameters)) { throw InvalidArguments::wrongTypesArgumentCount($statement, count($parameters), count($types)); } - - $this->statement = $statement; - $this->parameters = $parameters; - $this->types = $types; } public function __toString(): string diff --git a/lib/Doctrine/Migrations/QueryWriter.php b/lib/Doctrine/Migrations/QueryWriter.php index 491f057378..9868d7aa7b 100644 --- a/lib/Doctrine/Migrations/QueryWriter.php +++ b/lib/Doctrine/Migrations/QueryWriter.php @@ -17,6 +17,6 @@ interface QueryWriter public function write( string $path, string $direction, - array $queriesByVersion + array $queriesByVersion, ): bool; } diff --git a/lib/Doctrine/Migrations/Rollup.php b/lib/Doctrine/Migrations/Rollup.php index 6a742a52d5..662faaa785 100644 --- a/lib/Doctrine/Migrations/Rollup.php +++ b/lib/Doctrine/Migrations/Rollup.php @@ -19,16 +19,10 @@ */ class Rollup { - private MigrationsRepository $migrationRepository; - - private MetadataStorage $metadataStorage; - public function __construct( - MetadataStorage $metadataStorage, - MigrationsRepository $migrationRepository + private readonly MetadataStorage $metadataStorage, + private readonly MigrationsRepository $migrationRepository, ) { - $this->migrationRepository = $migrationRepository; - $this->metadataStorage = $metadataStorage; } /** @throws RollupFailed */ diff --git a/lib/Doctrine/Migrations/SchemaDumper.php b/lib/Doctrine/Migrations/SchemaDumper.php index 78ea993b7d..48038996f7 100644 --- a/lib/Doctrine/Migrations/SchemaDumper.php +++ b/lib/Doctrine/Migrations/SchemaDumper.php @@ -37,34 +37,17 @@ */ class SchemaDumper { - private AbstractPlatform $platform; - - /** @var AbstractSchemaManager */ - private AbstractSchemaManager $schemaManager; - - private Generator $migrationGenerator; - - private SqlGenerator $migrationSqlGenerator; - - /** @var string[] */ - private array $excludedTablesRegexes; - /** * @param AbstractSchemaManager $schemaManager * @param string[] $excludedTablesRegexes */ public function __construct( - AbstractPlatform $platform, - AbstractSchemaManager $schemaManager, - Generator $migrationGenerator, - SqlGenerator $migrationSqlGenerator, - array $excludedTablesRegexes = [] + private readonly AbstractPlatform $platform, + private readonly AbstractSchemaManager $schemaManager, + private readonly Generator $migrationGenerator, + private readonly SqlGenerator $migrationSqlGenerator, + private readonly array $excludedTablesRegexes = [], ) { - $this->platform = $platform; - $this->schemaManager = $schemaManager; - $this->migrationGenerator = $migrationGenerator; - $this->migrationSqlGenerator = $migrationSqlGenerator; - $this->excludedTablesRegexes = $excludedTablesRegexes; } /** @@ -76,7 +59,7 @@ public function dump( string $fqcn, array $excludedTablesRegexes = [], bool $formatted = false, - int $lineLength = 120 + int $lineLength = 120, ): string { $schema = $this->schemaManager->introspectSchema(); @@ -151,7 +134,7 @@ private function shouldSkipTable(Table $table, array $excludedTablesRegexes): bo * @param mixed[] $matches * @param int-mask-of $flags */ - private static function pregMatch(string $pattern, string $subject, ?array &$matches = null, int $flags = 0, int $offset = 0): int + private static function pregMatch(string $pattern, string $subject, array|null &$matches = null, int $flags = 0, int $offset = 0): int { try { $errorMessages = []; @@ -166,27 +149,14 @@ private static function pregMatch(string $pattern, string $subject, ?array &$mat } if ($ret === false) { - switch (preg_last_error()) { - case PREG_INTERNAL_ERROR: - $error = sprintf('Internal PCRE error, please check your Regex. Reported errors: %s.', implode(', ', $errorMessages)); - break; - case PREG_BACKTRACK_LIMIT_ERROR: - $error = 'pcre.backtrack_limit reached.'; - break; - case PREG_RECURSION_LIMIT_ERROR: - $error = 'pcre.recursion_limit reached.'; - break; - case PREG_BAD_UTF8_ERROR: - $error = 'Malformed UTF-8 data.'; - break; - case PREG_BAD_UTF8_OFFSET_ERROR: - $error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point.'; - break; - default: - $error = 'Error.'; - } - - throw new InvalidArgumentException($error); + throw new InvalidArgumentException(match (preg_last_error()) { + PREG_INTERNAL_ERROR => sprintf('Internal PCRE error, please check your Regex. Reported errors: %s.', implode(', ', $errorMessages)), + PREG_BACKTRACK_LIMIT_ERROR => 'pcre.backtrack_limit reached.', + PREG_RECURSION_LIMIT_ERROR => 'pcre.recursion_limit reached.', + PREG_BAD_UTF8_ERROR => 'Malformed UTF-8 data.', + PREG_BAD_UTF8_OFFSET_ERROR => 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point.', + default => 'Error.', + }); } return $ret; diff --git a/lib/Doctrine/Migrations/Tools/BooleanStringFormatter.php b/lib/Doctrine/Migrations/Tools/BooleanStringFormatter.php index 9f3f42fe0f..187e903a74 100644 --- a/lib/Doctrine/Migrations/Tools/BooleanStringFormatter.php +++ b/lib/Doctrine/Migrations/Tools/BooleanStringFormatter.php @@ -18,21 +18,10 @@ class BooleanStringFormatter { public static function toBoolean(string $value, bool $default): bool { - switch (strtolower($value)) { - case 'true': - return true; - - case '1': - return true; - - case 'false': - return false; - - case '0': - return false; - - default: - return $default; - } + return match (strtolower($value)) { + 'true', '1' => true, + 'false', '0' => false, + default => $default, + }; } } diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/CurrentCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/CurrentCommand.php index 90205b7c3a..75d5a94288 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/CurrentCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/CurrentCommand.php @@ -38,7 +38,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int try { $availableMigration = $this->getDependencyFactory()->getMigrationRepository()->getMigration($version); $description = $availableMigration->getMigration()->getDescription(); - } catch (MigrationClassNotFound $e) { + } catch (MigrationClassNotFound) { $description = '(Migration info not available)'; } } diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/DiffCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/DiffCommand.php index a400c2a14b..314adf0cc9 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/DiffCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/DiffCommand.php @@ -96,7 +96,7 @@ protected function configure(): void /** @throws InvalidOptionUsage */ protected function execute( InputInterface $input, - OutputInterface $output + OutputInterface $output, ): int { $filterExpression = (string) $input->getOption('filter-expression'); if ($filterExpression === '') { @@ -187,7 +187,7 @@ private function checkNewMigrationsOrExecutedUnavailable( AvailableMigrationsList $newMigrations, ExecutedMigrationsList $executedUnavailableMigrations, InputInterface $input, - OutputInterface $output + OutputInterface $output, ): bool { if (count($newMigrations) === 0 && count($executedUnavailableMigrations) === 0) { return true; diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/DoctrineCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/DoctrineCommand.php index 97131f7235..5755fccdbd 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/DoctrineCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/DoctrineCommand.php @@ -25,15 +25,11 @@ */ abstract class DoctrineCommand extends Command { - private ?DependencyFactory $dependencyFactory = null; - /** @var StyleInterface */ protected $io; - public function __construct(?DependencyFactory $dependencyFactory = null, ?string $name = null) + public function __construct(private DependencyFactory|null $dependencyFactory = null, string|null $name = null) { - $this->dependencyFactory = $dependencyFactory; - parent::__construct($name); } diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/DumpSchemaCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/DumpSchemaCommand.php index 4ca7d08a90..bdd91a5a17 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/DumpSchemaCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/DumpSchemaCommand.php @@ -17,7 +17,7 @@ use function is_string; use function key; use function sprintf; -use function strpos; +use function str_contains; /** * The DumpSchemaCommand class is responsible for dumping your current database schema to a migration class. This is @@ -74,7 +74,7 @@ protected function configure(): void /** @throws SchemaDumpRequiresNoMigrations */ public function execute( InputInterface $input, - OutputInterface $output + OutputInterface $output, ): int { $formatted = $input->getOption('formatted'); $lineLength = (int) $input->getOption('line-length'); @@ -134,7 +134,7 @@ private function checkNoPreviousDumpExistsForNamespace(string $namespace): void { $migrations = $this->getDependencyFactory()->getMigrationRepository()->getMigrations(); foreach ($migrations->getItems() as $migration) { - if (strpos((string) $migration->getVersion(), $namespace) !== false) { + if (str_contains((string) $migration->getVersion(), $namespace)) { throw SchemaDumpRequiresNoMigrations::new($namespace); } } diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/LatestCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/LatestCommand.php index 9583731ee5..94a20ce45f 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/LatestCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/LatestCommand.php @@ -35,7 +35,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $version = $aliasResolver->resolveVersionAlias('latest'); $availableMigration = $this->getDependencyFactory()->getMigrationRepository()->getMigration($version); $description = $availableMigration->getMigration()->getDescription(); - } catch (NoMigrationsToExecute $e) { + } catch (NoMigrationsToExecute) { $version = '0'; $description = ''; } diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/MigrateCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/MigrateCommand.php index 37f70d5bc2..c6bed3d284 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/MigrateCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/MigrateCommand.php @@ -22,7 +22,7 @@ use function is_string; use function is_writable; use function sprintf; -use function strpos; +use function str_starts_with; /** * The MigrateCommand class is responsible for executing a migration from the current version to another @@ -173,14 +173,14 @@ protected function execute(InputInterface $input, OutputInterface $output): int try { $version = $this->getDependencyFactory()->getVersionAliasResolver()->resolveVersionAlias($versionAlias); - } catch (UnknownMigrationVersion $e) { + } catch (UnknownMigrationVersion) { $this->io->error(sprintf( 'Unknown version: %s', OutputFormatter::escape($versionAlias), )); return 1; - } catch (NoMigrationsToExecute | NoMigrationsFoundWithCriteria $e) { + } catch (NoMigrationsToExecute | NoMigrationsFoundWithCriteria) { return $this->exitForAlias($versionAlias); } @@ -225,7 +225,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int private function checkExecutedUnavailableMigrations( ExecutedMigrationsList $executedUnavailableMigrations, - InputInterface $input + InputInterface $input, ): bool { if (count($executedUnavailableMigrations) !== 0) { $this->io->warning(sprintf( @@ -236,9 +236,7 @@ private function checkExecutedUnavailableMigrations( foreach ($executedUnavailableMigrations->getItems() as $executedUnavailableMigration) { $this->io->text(sprintf( '>> %s (%s)', - $executedUnavailableMigration->getExecutedAt() !== null - ? $executedUnavailableMigration->getExecutedAt()->format('Y-m-d H:i:s') - : null, + $executedUnavailableMigration->getExecutedAt()?->format('Y-m-d H:i:s'), $executedUnavailableMigration->getVersion(), )); } @@ -268,7 +266,7 @@ private function exitForAlias(string $versionAlias): int ); $this->io->success($message); - } elseif (in_array($versionAlias, ['next', 'prev'], true) || strpos($versionAlias, 'current') === 0) { + } elseif (in_array($versionAlias, ['next', 'prev'], true) || str_starts_with($versionAlias, 'current')) { $message = sprintf( 'The version "%s" couldn\'t be reached, you are at version "%s"', $versionAlias, diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/SyncMetadataCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/SyncMetadataCommand.php index 9a0ee48a2b..907485d7e6 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/SyncMetadataCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/SyncMetadataCommand.php @@ -31,7 +31,7 @@ protected function configure(): void public function execute( InputInterface $input, - OutputInterface $output + OutputInterface $output, ): int { $this->getDependencyFactory()->getMetadataStorage()->ensureInitialized(); diff --git a/lib/Doctrine/Migrations/Tools/Console/Command/VersionCommand.php b/lib/Doctrine/Migrations/Tools/Console/Command/VersionCommand.php index 8556ec32b4..6d59465d68 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Command/VersionCommand.php +++ b/lib/Doctrine/Migrations/Tools/Console/Command/VersionCommand.php @@ -187,7 +187,7 @@ private function mark(InputInterface $input, OutputInterface $output, Version $v { try { $availableMigration = $this->getDependencyFactory()->getMigrationRepository()->getMigration($version); - } catch (MigrationClassNotFound $e) { + } catch (MigrationClassNotFound) { $availableMigration = null; } diff --git a/lib/Doctrine/Migrations/Tools/Console/ConsoleInputMigratorConfigurationFactory.php b/lib/Doctrine/Migrations/Tools/Console/ConsoleInputMigratorConfigurationFactory.php index 3c6da4a994..ec7e6c93dd 100644 --- a/lib/Doctrine/Migrations/Tools/Console/ConsoleInputMigratorConfigurationFactory.php +++ b/lib/Doctrine/Migrations/Tools/Console/ConsoleInputMigratorConfigurationFactory.php @@ -10,11 +10,8 @@ class ConsoleInputMigratorConfigurationFactory implements MigratorConfigurationFactory { - private Configuration $configuration; - - public function __construct(Configuration $configuration) + public function __construct(private readonly Configuration $configuration) { - $this->configuration = $configuration; } public function getMigratorConfiguration(InputInterface $input): MigratorConfiguration @@ -29,7 +26,7 @@ public function getMigratorConfiguration(InputInterface $input): MigratorConfigu ->setAllOrNothing($allOrNothing); } - private function determineAllOrNothingValueFrom(InputInterface $input): ?bool + private function determineAllOrNothingValueFrom(InputInterface $input): bool|null { if (! $input->hasOption('all-or-nothing')) { return null; diff --git a/lib/Doctrine/Migrations/Tools/Console/ConsoleLogger.php b/lib/Doctrine/Migrations/Tools/Console/ConsoleLogger.php index b186753161..7bb650abca 100644 --- a/lib/Doctrine/Migrations/Tools/Console/ConsoleLogger.php +++ b/lib/Doctrine/Migrations/Tools/Console/ConsoleLogger.php @@ -13,13 +13,11 @@ use Symfony\Component\Console\Output\ConsoleOutputInterface; use Symfony\Component\Console\Output\OutputInterface; -use function get_class; use function gettype; use function is_object; use function is_scalar; -use function method_exists; use function sprintf; -use function strpos; +use function str_contains; use function strtr; /** @@ -34,8 +32,6 @@ final class ConsoleLogger extends AbstractLogger public const INFO = 'info'; public const ERROR = 'error'; - private OutputInterface $output; - /** @var array */ private array $verbosityLevelMap = [ LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, @@ -63,9 +59,8 @@ final class ConsoleLogger extends AbstractLogger * @param array $verbosityLevelMap * @param array $formatLevelMap */ - public function __construct(OutputInterface $output, array $verbosityLevelMap = [], array $formatLevelMap = []) + public function __construct(private readonly OutputInterface $output, array $verbosityLevelMap = [], array $formatLevelMap = []) { - $this->output = $output; $this->verbosityLevelMap = $verbosityLevelMap + $this->verbosityLevelMap; $this->formatLevelMap = $formatLevelMap + $this->formatLevelMap; } @@ -102,24 +97,23 @@ public function log($level, $message, array $context = []): void /** * Interpolates context values into the message placeholders. * - * @param string|Stringable $message - * @param mixed[] $context + * @param mixed[] $context */ - private function interpolate($message, array $context): string + private function interpolate(string|Stringable $message, array $context): string { $message = (string) $message; - if (strpos($message, '{') === false) { + if (! str_contains($message, '{')) { return $message; } $replacements = []; foreach ($context as $key => $val) { - if ($val === null || is_scalar($val) || (is_object($val) && method_exists($val, '__toString'))) { + if ($val === null || is_scalar($val) || $val instanceof Stringable) { $replacements["{{$key}}"] = $val; } elseif ($val instanceof DateTimeInterface) { $replacements["{{$key}}"] = $val->format(DateTime::RFC3339); } elseif (is_object($val)) { - $replacements["{{$key}}"] = '[object ' . get_class($val) . ']'; + $replacements["{{$key}}"] = '[object ' . $val::class . ']'; } else { $replacements["{{$key}}"] = '[' . gettype($val) . ']'; } diff --git a/lib/Doctrine/Migrations/Tools/Console/ConsoleRunner.php b/lib/Doctrine/Migrations/Tools/Console/ConsoleRunner.php index 53b1e1a5ce..51c784e631 100644 --- a/lib/Doctrine/Migrations/Tools/Console/ConsoleRunner.php +++ b/lib/Doctrine/Migrations/Tools/Console/ConsoleRunner.php @@ -44,7 +44,7 @@ */ class ConsoleRunner { - public static function findDependencyFactory(): ?DependencyFactory + public static function findDependencyFactory(): DependencyFactory|null { // Support for using the Doctrine ORM convention of providing a `cli-config.php` file. $configurationDirectories = [ @@ -89,14 +89,14 @@ public static function findDependencyFactory(): ?DependencyFactory } /** @param DoctrineCommand[] $commands */ - public static function run(array $commands = [], ?DependencyFactory $dependencyFactory = null): void + public static function run(array $commands = [], DependencyFactory|null $dependencyFactory = null): void { $cli = static::createApplication($commands, $dependencyFactory); $cli->run(); } /** @param DoctrineCommand[] $commands */ - public static function createApplication(array $commands = [], ?DependencyFactory $dependencyFactory = null): Application + public static function createApplication(array $commands = [], DependencyFactory|null $dependencyFactory = null): Application { $version = InstalledVersions::getVersion('doctrine/migrations'); assert($version !== null); @@ -108,7 +108,7 @@ public static function createApplication(array $commands = [], ?DependencyFactor return $cli; } - public static function addCommands(Application $cli, ?DependencyFactory $dependencyFactory = null): void + public static function addCommands(Application $cli, DependencyFactory|null $dependencyFactory = null): void { $cli->addCommands([ new CurrentCommand($dependencyFactory), @@ -132,12 +132,7 @@ public static function addCommands(Application $cli, ?DependencyFactory $depende $cli->add(new DiffCommand($dependencyFactory)); } - /** - * @param mixed|HelperSet $dependencyFactory - * - * @return mixed|DependencyFactory - */ - private static function checkLegacyConfiguration($dependencyFactory, string $configurationFile) + private static function checkLegacyConfiguration(mixed $dependencyFactory, string $configurationFile): mixed { if (! ($dependencyFactory instanceof HelperSet)) { return $dependencyFactory; diff --git a/lib/Doctrine/Migrations/Tools/Console/Helper/ConfigurationHelper.php b/lib/Doctrine/Migrations/Tools/Console/Helper/ConfigurationHelper.php index 9931a53cda..fe13b594fa 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Helper/ConfigurationHelper.php +++ b/lib/Doctrine/Migrations/Tools/Console/Helper/ConfigurationHelper.php @@ -13,6 +13,6 @@ interface ConfigurationHelper { public function getConfiguration( - InputInterface $input + InputInterface $input, ): Configuration; } diff --git a/lib/Doctrine/Migrations/Tools/Console/Helper/MigrationStatusInfosHelper.php b/lib/Doctrine/Migrations/Tools/Console/Helper/MigrationStatusInfosHelper.php index 0a2988f728..d07224dc66 100644 --- a/lib/Doctrine/Migrations/Tools/Console/Helper/MigrationStatusInfosHelper.php +++ b/lib/Doctrine/Migrations/Tools/Console/Helper/MigrationStatusInfosHelper.php @@ -35,32 +35,14 @@ */ class MigrationStatusInfosHelper { - private Configuration $configuration; - - private Connection $connection; - - private AliasResolver $aliasResolver; - - private MetadataStorage $metadataStorage; - - private MigrationPlanCalculator $migrationPlanCalculator; - - private MigrationStatusCalculator $statusCalculator; - public function __construct( - Configuration $configuration, - Connection $connection, - AliasResolver $aliasResolver, - MigrationPlanCalculator $migrationPlanCalculator, - MigrationStatusCalculator $statusCalculator, - MetadataStorage $metadataStorage + private readonly Configuration $configuration, + private readonly Connection $connection, + private readonly AliasResolver $aliasResolver, + private readonly MigrationPlanCalculator $migrationPlanCalculator, + private readonly MigrationStatusCalculator $statusCalculator, + private readonly MetadataStorage $metadataStorage, ) { - $this->configuration = $configuration; - $this->connection = $connection; - $this->aliasResolver = $aliasResolver; - $this->migrationPlanCalculator = $migrationPlanCalculator; - $this->metadataStorage = $metadataStorage; - $this->statusCalculator = $statusCalculator; } /** @param Version[] $versions */ @@ -132,7 +114,7 @@ public function showMigrationsInfo(OutputInterface $output): void $dataGroup = [ 'Storage' => [ - 'Type' => $storage !== null ? get_class($storage) : null, + 'Type' => $storage !== null ? $storage::class : null, ], 'Database' => [ 'Driver' => get_class($this->connection->getDriver()), @@ -194,7 +176,7 @@ private function getFormattedVersionAlias(string $alias, ExecutedMigrationsList { try { $version = $this->aliasResolver->resolveVersionAlias($alias); - } catch (Throwable $e) { + } catch (Throwable) { $version = null; } diff --git a/lib/Doctrine/Migrations/Tools/TransactionHelper.php b/lib/Doctrine/Migrations/Tools/TransactionHelper.php index d027c166ba..9f7ceb5f5d 100644 --- a/lib/Doctrine/Migrations/Tools/TransactionHelper.php +++ b/lib/Doctrine/Migrations/Tools/TransactionHelper.php @@ -70,7 +70,7 @@ private static function getInnerConnection(Connection $connection) { try { return $connection->getNativeConnection(); - } catch (LogicException $e) { + } catch (LogicException) { } $innermostConnection = $connection; diff --git a/lib/Doctrine/Migrations/Version/CurrentMigrationStatusCalculator.php b/lib/Doctrine/Migrations/Version/CurrentMigrationStatusCalculator.php index ecbd568c11..a45172d7a3 100644 --- a/lib/Doctrine/Migrations/Version/CurrentMigrationStatusCalculator.php +++ b/lib/Doctrine/Migrations/Version/CurrentMigrationStatusCalculator.php @@ -14,16 +14,10 @@ */ final class CurrentMigrationStatusCalculator implements MigrationStatusCalculator { - private MigrationPlanCalculator $migrationPlanCalculator; - - private MetadataStorage $metadataStorage; - public function __construct( - MigrationPlanCalculator $migrationPlanCalculator, - MetadataStorage $metadataStorage + private readonly MigrationPlanCalculator $migrationPlanCalculator, + private readonly MetadataStorage $metadataStorage, ) { - $this->migrationPlanCalculator = $migrationPlanCalculator; - $this->metadataStorage = $metadataStorage; } public function getExecutedUnavailableMigrations(): ExecutedMigrationsList diff --git a/lib/Doctrine/Migrations/Version/DbalExecutor.php b/lib/Doctrine/Migrations/Version/DbalExecutor.php index fc27b2ee73..df177748cf 100644 --- a/lib/Doctrine/Migrations/Version/DbalExecutor.php +++ b/lib/Doctrine/Migrations/Version/DbalExecutor.php @@ -35,39 +35,18 @@ */ final class DbalExecutor implements Executor { - private Connection $connection; - - private SchemaDiffProvider $schemaProvider; - - private ParameterFormatter $parameterFormatter; - - private Stopwatch $stopwatch; - /** @var Query[] */ private array $sql = []; - private MetadataStorage $metadataStorage; - - private LoggerInterface $logger; - - private EventDispatcher $dispatcher; - public function __construct( - MetadataStorage $metadataStorage, - EventDispatcher $dispatcher, - Connection $connection, - SchemaDiffProvider $schemaProvider, - LoggerInterface $logger, - ParameterFormatter $parameterFormatter, - Stopwatch $stopwatch + private readonly MetadataStorage $metadataStorage, + private readonly EventDispatcher $dispatcher, + private readonly Connection $connection, + private readonly SchemaDiffProvider $schemaProvider, + private readonly LoggerInterface $logger, + private readonly ParameterFormatter $parameterFormatter, + private readonly Stopwatch $stopwatch, ) { - $this->connection = $connection; - $this->schemaProvider = $schemaProvider; - $this->parameterFormatter = $parameterFormatter; - $this->stopwatch = $stopwatch; - $this->metadataStorage = $metadataStorage; - $this->logger = $logger; - $this->dispatcher = $dispatcher; } /** @return Query[] */ @@ -83,7 +62,7 @@ public function addSql(Query $sqlQuery): void public function execute( MigrationPlan $plan, - MigratorConfiguration $configuration + MigratorConfiguration $configuration, ): ExecutionResult { $result = new ExecutionResult($plan->getVersion(), $plan->getDirection(), new DateTimeImmutable()); @@ -114,7 +93,7 @@ public function execute( private function startMigration( MigrationPlan $plan, - MigratorConfiguration $configuration + MigratorConfiguration $configuration, ): void { $this->sql = []; @@ -135,7 +114,7 @@ private function startMigration( private function executeMigration( MigrationPlan $plan, ExecutionResult $result, - MigratorConfiguration $configuration + MigratorConfiguration $configuration, ): ExecutionResult { $stopwatchEvent = $this->stopwatch->start('execute'); @@ -333,18 +312,11 @@ private function getFromSchema(MigratorConfiguration $configuration): Schema private function getExecutionStateAsString(int $state): string { - switch ($state) { - case State::PRE: - return 'Pre-Checks'; - - case State::POST: - return 'Post-Checks'; - - case State::EXEC: - return 'Execution'; - - default: - return 'No State'; - } + return match ($state) { + State::PRE => 'Pre-Checks', + State::POST => 'Post-Checks', + State::EXEC => 'Execution', + default => 'No State', + }; } } diff --git a/lib/Doctrine/Migrations/Version/DbalMigrationFactory.php b/lib/Doctrine/Migrations/Version/DbalMigrationFactory.php index 92029667aa..45ac09e9f0 100644 --- a/lib/Doctrine/Migrations/Version/DbalMigrationFactory.php +++ b/lib/Doctrine/Migrations/Version/DbalMigrationFactory.php @@ -15,14 +15,8 @@ */ final class DbalMigrationFactory implements MigrationFactory { - private Connection $connection; - - private LoggerInterface $logger; - - public function __construct(Connection $connection, LoggerInterface $logger) + public function __construct(private readonly Connection $connection, private readonly LoggerInterface $logger) { - $this->connection = $connection; - $this->logger = $logger; } public function createVersion(string $migrationClassName): AbstractMigration diff --git a/lib/Doctrine/Migrations/Version/DefaultAliasResolver.php b/lib/Doctrine/Migrations/Version/DefaultAliasResolver.php index 517fcde633..427227eda2 100644 --- a/lib/Doctrine/Migrations/Version/DefaultAliasResolver.php +++ b/lib/Doctrine/Migrations/Version/DefaultAliasResolver.php @@ -24,20 +24,11 @@ final class DefaultAliasResolver implements AliasResolver private const ALIAS_NEXT = 'next'; private const ALIAS_LATEST = 'latest'; - private MigrationPlanCalculator $migrationPlanCalculator; - - private MetadataStorage $metadataStorage; - - private MigrationStatusCalculator $migrationStatusCalculator; - public function __construct( - MigrationPlanCalculator $migrationPlanCalculator, - MetadataStorage $metadataStorage, - MigrationStatusCalculator $migrationStatusCalculator + private readonly MigrationPlanCalculator $migrationPlanCalculator, + private readonly MetadataStorage $metadataStorage, + private readonly MigrationStatusCalculator $migrationStatusCalculator, ) { - $this->migrationPlanCalculator = $migrationPlanCalculator; - $this->metadataStorage = $metadataStorage; - $this->migrationStatusCalculator = $migrationStatusCalculator; } /** @@ -70,7 +61,7 @@ public function resolveVersionAlias(string $alias): Version case self::ALIAS_CURRENT: try { return $executedMigrations->getLast()->getVersion(); - } catch (NoMigrationsFoundWithCriteria $e) { + } catch (NoMigrationsFoundWithCriteria) { return new Version('0'); } @@ -78,7 +69,7 @@ public function resolveVersionAlias(string $alias): Version case self::ALIAS_PREV: try { return $executedMigrations->getLast(-1)->getVersion(); - } catch (NoMigrationsFoundWithCriteria $e) { + } catch (NoMigrationsFoundWithCriteria) { return new Version('0'); } @@ -96,7 +87,7 @@ public function resolveVersionAlias(string $alias): Version case self::ALIAS_LATEST: try { return $availableMigrations->getLast()->getVersion(); - } catch (NoMigrationsFoundWithCriteria $e) { + } catch (NoMigrationsFoundWithCriteria) { return $this->resolveVersionAlias(self::ALIAS_CURRENT); } diff --git a/lib/Doctrine/Migrations/Version/ExecutionResult.php b/lib/Doctrine/Migrations/Version/ExecutionResult.php index fc0d8f6ad2..8a6a778d88 100644 --- a/lib/Doctrine/Migrations/Version/ExecutionResult.php +++ b/lib/Doctrine/Migrations/Version/ExecutionResult.php @@ -25,31 +25,25 @@ final class ExecutionResult /** * Seconds */ - private ?float $time = null; + private float|null $time = null; - private ?float $memory = null; + private float|null $memory = null; private bool $skipped = false; private bool $error = false; - private ?Throwable $exception = null; - - private ?DateTimeImmutable $executedAt = null; + private Throwable|null $exception = null; private int $state; - private ?Schema $toSchema = null; - - private Version $version; - - private string $direction; + private Schema|null $toSchema = null; - public function __construct(Version $version, string $direction = Direction::UP, ?DateTimeImmutable $executedAt = null) - { - $this->executedAt = $executedAt; - $this->version = $version; - $this->direction = $direction; + public function __construct( + private readonly Version $version, + private readonly string $direction = Direction::UP, + private DateTimeImmutable|null $executedAt = null, + ) { } public function getDirection(): string @@ -57,7 +51,7 @@ public function getDirection(): string return $this->direction; } - public function getExecutedAt(): ?DateTimeImmutable + public function getExecutedAt(): DateTimeImmutable|null { return $this->executedAt; } @@ -89,7 +83,7 @@ public function setSql(array $sql): void $this->sql = $sql; } - public function getTime(): ?float + public function getTime(): float|null { return $this->time; } @@ -99,7 +93,7 @@ public function setTime(float $time): void $this->time = $time; } - public function getMemory(): ?float + public function getMemory(): float|null { return $this->memory; } @@ -119,7 +113,7 @@ public function isSkipped(): bool return $this->skipped; } - public function setError(bool $error, ?Throwable $exception = null): void + public function setError(bool $error, Throwable|null $exception = null): void { $this->error = $error; $this->exception = $exception; @@ -130,7 +124,7 @@ public function hasError(): bool return $this->error; } - public function getException(): ?Throwable + public function getException(): Throwable|null { return $this->exception; } diff --git a/lib/Doctrine/Migrations/Version/SortedMigrationPlanCalculator.php b/lib/Doctrine/Migrations/Version/SortedMigrationPlanCalculator.php index afccf5524d..6bb9d1ac8b 100644 --- a/lib/Doctrine/Migrations/Version/SortedMigrationPlanCalculator.php +++ b/lib/Doctrine/Migrations/Version/SortedMigrationPlanCalculator.php @@ -31,20 +31,11 @@ */ final class SortedMigrationPlanCalculator implements MigrationPlanCalculator { - private MigrationsRepository $migrationRepository; - - private MetadataStorage $metadataStorage; - - private Comparator $sorter; - public function __construct( - MigrationsRepository $migrationRepository, - MetadataStorage $metadataStorage, - Comparator $sorter + private readonly MigrationsRepository $migrationRepository, + private readonly MetadataStorage $metadataStorage, + private readonly Comparator $sorter, ) { - $this->migrationRepository = $migrationRepository; - $this->metadataStorage = $metadataStorage; - $this->sorter = $sorter; } /** @param Version[] $versions */ diff --git a/lib/Doctrine/Migrations/Version/Version.php b/lib/Doctrine/Migrations/Version/Version.php index 03b96ef527..7779179593 100644 --- a/lib/Doctrine/Migrations/Version/Version.php +++ b/lib/Doctrine/Migrations/Version/Version.php @@ -6,11 +6,8 @@ final class Version { - private string $version; - - public function __construct(string $version) + public function __construct(private readonly string $version) { - $this->version = $version; } public function __toString(): string @@ -18,8 +15,7 @@ public function __toString(): string return $this->version; } - /** @param mixed $object */ - public function equals($object): bool + public function equals(mixed $object): bool { return $object instanceof self && $object->version === $this->version; } diff --git a/phpcs.xml.dist b/phpcs.xml.dist index 48b677fbe9..6ff16dc580 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -6,7 +6,7 @@ - + diff --git a/tests/Doctrine/Migrations/Tests/Configuration/EntityManager/_files/em-loader.php b/tests/Doctrine/Migrations/Tests/Configuration/EntityManager/_files/em-loader.php index 2f20bb724b..1d9d7faf40 100644 --- a/tests/Doctrine/Migrations/Tests/Configuration/EntityManager/_files/em-loader.php +++ b/tests/Doctrine/Migrations/Tests/Configuration/EntityManager/_files/em-loader.php @@ -10,7 +10,7 @@ use Doctrine\Persistence\Mapping\Driver\PHPDriver; return new class () implements EntityManagerLoader { - public function getEntityManager(?string $name = null): EntityManagerInterface + public function getEntityManager(string|null $name = null): EntityManagerInterface { $conn = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'memory' => true]); diff --git a/tests/Doctrine/Migrations/Tests/Generator/DiffGeneratorTest.php b/tests/Doctrine/Migrations/Tests/Generator/DiffGeneratorTest.php index 39cc64696e..58577223ba 100644 --- a/tests/Doctrine/Migrations/Tests/Generator/DiffGeneratorTest.php +++ b/tests/Doctrine/Migrations/Tests/Generator/DiffGeneratorTest.php @@ -110,7 +110,7 @@ static function ($name): bool { public static function compareSchemas( Schema $fromSchema, - Schema $toSchema + Schema $toSchema, ): SchemaDiff { return self::$schemaDiff; } @@ -188,7 +188,7 @@ public function testGenerateFromEmptySchema(): void public static function compareSchemas( Schema $fromSchema, - Schema $toSchema + Schema $toSchema, ): SchemaDiff { return self::$schemaDiff; } diff --git a/tests/Doctrine/Migrations/Tests/Metadata/Storage/DebugLogger.php b/tests/Doctrine/Migrations/Tests/Metadata/Storage/DebugLogger.php index 11af3e4f5e..01f4048cb9 100644 --- a/tests/Doctrine/Migrations/Tests/Metadata/Storage/DebugLogger.php +++ b/tests/Doctrine/Migrations/Tests/Metadata/Storage/DebugLogger.php @@ -11,12 +11,8 @@ final class DebugLogger extends AbstractLogger { public int $count = 0; - /** - * @param mixed $level - * @param string|Stringable $message - * @param array $context - */ - public function log($level, $message, array $context = []): void + /** @param array $context */ + public function log(mixed $level, string|Stringable $message, array $context = []): void { $this->count++; } diff --git a/tests/Doctrine/Migrations/Tests/Metadata/Storage/TableMetadataStorageTest.php b/tests/Doctrine/Migrations/Tests/Metadata/Storage/TableMetadataStorageTest.php index 415ccff377..164814c273 100644 --- a/tests/Doctrine/Migrations/Tests/Metadata/Storage/TableMetadataStorageTest.php +++ b/tests/Doctrine/Migrations/Tests/Metadata/Storage/TableMetadataStorageTest.php @@ -44,7 +44,7 @@ class TableMetadataStorageTest extends TestCase private DebugLogger $debugLogger; - private function getSqliteConnection(?Configuration $configuration = null): Connection + private function getSqliteConnection(Configuration|null $configuration = null): Connection { $params = ['driver' => 'pdo_sqlite', 'memory' => true]; diff --git a/tests/Doctrine/Migrations/Tests/Provider/A.php b/tests/Doctrine/Migrations/Tests/Provider/A.php index 8207c61682..8ed613c810 100644 --- a/tests/Doctrine/Migrations/Tests/Provider/A.php +++ b/tests/Doctrine/Migrations/Tests/Provider/A.php @@ -6,9 +6,9 @@ class A { - private ?int $id = null; + private int|null $id = null; - public function getId(): ?int + public function getId(): int|null { return $this->id; } diff --git a/tests/Doctrine/Migrations/Tests/Provider/B.php b/tests/Doctrine/Migrations/Tests/Provider/B.php index 72d6c31c85..9bceaca7cb 100644 --- a/tests/Doctrine/Migrations/Tests/Provider/B.php +++ b/tests/Doctrine/Migrations/Tests/Provider/B.php @@ -6,9 +6,9 @@ class B { - private ?int $id = null; + private int|null $id = null; - public function getId(): ?int + public function getId(): int|null { return $this->id; } diff --git a/tests/Doctrine/Migrations/Tests/Provider/C.php b/tests/Doctrine/Migrations/Tests/Provider/C.php index 1738764186..a05110880f 100644 --- a/tests/Doctrine/Migrations/Tests/Provider/C.php +++ b/tests/Doctrine/Migrations/Tests/Provider/C.php @@ -6,9 +6,9 @@ class C { - private ?int $id = null; + private int|null $id = null; - public function getId(): ?int + public function getId(): int|null { return $this->id; } diff --git a/tests/Doctrine/Migrations/Tests/Stub/AbstractMigrationStub.php b/tests/Doctrine/Migrations/Tests/Stub/AbstractMigrationStub.php index 6a1e6e051f..70179ba414 100644 --- a/tests/Doctrine/Migrations/Tests/Stub/AbstractMigrationStub.php +++ b/tests/Doctrine/Migrations/Tests/Stub/AbstractMigrationStub.php @@ -22,7 +22,7 @@ public function exposedWrite(string $message): void $this->write($message); } - public function exposedThrowIrreversibleMigrationException(?string $message = null): void + public function exposedThrowIrreversibleMigrationException(string|null $message = null): void { $this->throwIrreversibleMigrationException($message); } diff --git a/tests/Doctrine/Migrations/Tests/Stub/CustomClassNameMigrationFactory.php b/tests/Doctrine/Migrations/Tests/Stub/CustomClassNameMigrationFactory.php index 9fd2e29ee4..0a5607c52e 100644 --- a/tests/Doctrine/Migrations/Tests/Stub/CustomClassNameMigrationFactory.php +++ b/tests/Doctrine/Migrations/Tests/Stub/CustomClassNameMigrationFactory.php @@ -9,16 +9,9 @@ class CustomClassNameMigrationFactory implements MigrationFactory { - private MigrationFactory $parentMigrationFactory; - - /** @var class-string */ - private string $migrationClassName; - /** @param class-string $migrationClassName */ - public function __construct(MigrationFactory $parentMigrationFactory, string $migrationClassName) + public function __construct(private readonly MigrationFactory $parentMigrationFactory, private readonly string $migrationClassName) { - $this->parentMigrationFactory = $parentMigrationFactory; - $this->migrationClassName = $migrationClassName; } public function createVersion(string $migrationClassName): AbstractMigration diff --git a/tests/Doctrine/Migrations/Tests/Stub/DoctrineRegistry.php b/tests/Doctrine/Migrations/Tests/Stub/DoctrineRegistry.php index 47363dcb9c..09e74898a5 100644 --- a/tests/Doctrine/Migrations/Tests/Stub/DoctrineRegistry.php +++ b/tests/Doctrine/Migrations/Tests/Stub/DoctrineRegistry.php @@ -15,17 +15,11 @@ class DoctrineRegistry extends AbstractManagerRegistry { - /** @var EntityManager[] */ - private array $realEntityManagers; - - /** @var Connection[] */ - private array $connections; - /** * @param array $connections * @param array $realEntityManagers */ - public function __construct(array $connections = [], array $realEntityManagers = []) + public function __construct(private readonly array $connections = [], private readonly array $realEntityManagers = []) { $connectionNames = array_keys($connections); $realEntityManagerNames = array_keys($realEntityManagers); @@ -38,9 +32,6 @@ public function __construct(array $connections = [], array $realEntityManagers = $realEntityManagerNames[0] ?? 'default', Proxy::class, ); - - $this->realEntityManagers = $realEntityManagers; - $this->connections = $connections; } /** diff --git a/tests/Doctrine/Migrations/Tests/TestLogger.php b/tests/Doctrine/Migrations/Tests/TestLogger.php index 0cda8d391e..385168f7ff 100644 --- a/tests/Doctrine/Migrations/Tests/TestLogger.php +++ b/tests/Doctrine/Migrations/Tests/TestLogger.php @@ -9,12 +9,10 @@ use Psr\Log\AbstractLogger; use Stringable; -use function get_class; use function gettype; use function is_object; use function is_scalar; -use function method_exists; -use function strpos; +use function str_contains; use function strtr; class TestLogger extends AbstractLogger @@ -35,24 +33,23 @@ public function log($level, $message, array $context = []): void /** * Interpolates context values into the message placeholders. * - * @param string|Stringable $message - * @param mixed[] $context + * @param mixed[] $context */ - private function interpolate($message, array $context): string + private function interpolate(string|Stringable $message, array $context): string { $message = (string) $message; - if (strpos($message, '{') === false) { + if (! str_contains($message, '{')) { return $message; } $replacements = []; foreach ($context as $key => $val) { - if ($val === null || is_scalar($val) || (is_object($val) && method_exists($val, '__toString'))) { + if ($val === null || is_scalar($val) || $val instanceof Stringable) { $replacements["{{$key}}"] = $val; } elseif ($val instanceof DateTimeInterface) { $replacements["{{$key}}"] = $val->format(DateTime::RFC3339); } elseif (is_object($val)) { - $replacements["{{$key}}"] = '[object ' . get_class($val) . ']'; + $replacements["{{$key}}"] = '[object ' . $val::class . ']'; } else { $replacements["{{$key}}"] = '[' . gettype($val) . ']'; } diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php index 55c84055ab..e0216358a3 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php @@ -42,12 +42,8 @@ class ExecuteCommandTest extends MigrationTestCase /** @var MigrationPlanCalculator&MockObject */ private MigrationPlanCalculator $planCalculator; - /** - * @param bool|string|null $arg - * - * @dataProvider getWriteSqlValues - */ - public function testWriteSql(bool $dryRun, $arg, ?string $path): void + /** @dataProvider getWriteSqlValues */ + public function testWriteSql(bool $dryRun, bool|string|null $arg, string|null $path): void { $this->migrator ->expects(self::once()) diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php index 150e1004c5..14234e9989 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php @@ -38,7 +38,7 @@ use function getcwd; use function in_array; use function sprintf; -use function strpos; +use function str_contains; use function trim; class MigrateCommandTest extends MigrationTestCase @@ -134,7 +134,7 @@ public static function getTargetAliases(): array } /** @dataProvider getTargetAliases */ - public function testExecuteAtVersion(string $targetAlias, string $level, ?string $executedMigration): void + public function testExecuteAtVersion(string $targetAlias, string $level, string|null $executedMigration): void { if ($executedMigration !== null) { $result = new ExecutionResult(new Version($executedMigration)); @@ -182,7 +182,7 @@ public function testExecuteUnknownVersion(): void ['interactive' => false], ); - self::assertTrue(strpos($this->migrateCommandTester->getDisplay(true), 'Unknown version: unknown') !== false); + self::assertTrue(str_contains($this->migrateCommandTester->getDisplay(true), 'Unknown version: unknown')); self::assertSame(1, $this->migrateCommandTester->getStatusCode()); } @@ -209,12 +209,8 @@ public function testExecutedUnavailableMigrationsCancel(): void self::assertSame(3, $this->migrateCommandTester->getStatusCode()); } - /** - * @param bool|string|null $arg - * - * @dataProvider getWriteSqlValues - */ - public function testExecuteWriteSql(bool $dryRun, $arg, ?string $path): void + /** @dataProvider getWriteSqlValues */ + public function testExecuteWriteSql(bool $dryRun, bool|string|null $arg, string|null $path): void { $migrator = $this->createMock(DbalMigrator::class); diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php index 6dbdb87b94..10a156cda2 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php @@ -227,7 +227,7 @@ class ConsoleRunnerStub extends ConsoleRunner public static Application $application; /** @param Command[] $commands */ - public static function createApplication(array $commands = [], ?DependencyFactory $dependencyFactory = null): Application + public static function createApplication(array $commands = [], DependencyFactory|null $dependencyFactory = null): Application { return static::$application; } diff --git a/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php b/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php index c627f8ba40..1a05e5b6aa 100644 --- a/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php +++ b/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php @@ -48,7 +48,7 @@ final class AliasResolverTest extends TestCase * * @dataProvider getAliases */ - public function testAliases(string $alias, ?string $expectedVersion, ?string $expectedException = null): void + public function testAliases(string $alias, string|null $expectedVersion, string|null $expectedException = null): void { if ($expectedException !== null) { $this->expectException($expectedException); @@ -77,7 +77,7 @@ public function testAliases(string $alias, ?string $expectedVersion, ?string $ex * * @dataProvider getAliasesWithNoExecuted */ - public function testAliasesWithNoExecuted(string $alias, ?string $expectedVersion, ?string $expectedException = null): void + public function testAliasesWithNoExecuted(string $alias, string|null $expectedVersion, string|null $expectedException = null): void { if ($expectedException !== null) { $this->expectException($expectedException); diff --git a/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php b/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php index 1224790bc9..88f410fdb4 100644 --- a/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php +++ b/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php @@ -397,7 +397,7 @@ public function onMigrationsVersionSkipped(): void $migratorConfiguration, ); $migrationSucceed = true; - } catch (Throwable $e) { + } catch (Throwable) { self::assertFalse($listener->onMigrationsVersionExecuted); self::assertTrue($listener->onMigrationsVersionSkipped); self::assertTrue($listener->onMigrationsVersionExecuting); @@ -467,7 +467,7 @@ public function onMigrationsVersionSkipped(): void $migratorConfiguration, ); $migrationSucceed = true; - } catch (Throwable $e) { + } catch (Throwable) { self::assertFalse($listener->onMigrationsVersionExecuted); self::assertTrue($listener->onMigrationsVersionSkipped); self::assertTrue($listener->onMigrationsVersionExecuting);