diff --git a/composer.json b/composer.json index 67455959..d6145fd7 100644 --- a/composer.json +++ b/composer.json @@ -21,13 +21,13 @@ "laminas/laminas-permissions-rbac": "^3.4", "laminas/laminas-servicemanager": "^3.18 || ^4.0", "laminas/laminas-stdlib": "^3.1", - "doctrine/persistence": "^2.0 || ^3.0" + "doctrine/persistence": "^3.0 || ^4.0" }, "require-dev": { "laminas/laminas-coding-standard": "^3.1", "phpunit/phpunit": "^11.5", "doctrine/orm": "^3.5", - "symfony/cache": "^6.4", + "symfony/cache": "^6.4 || ^7.0 || ^8.0", "psalm/plugin-phpunit": "^0.19.0", "vimeo/psalm": "^6.13" }, diff --git a/composer.lock b/composer.lock index e26ad464..d6139f59 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b6b0578b6158131f64a3630bb15ee4e1", + "content-hash": "73ce6b5cbc7b44d4f18e00ce4bbd6e91", "packages": [ { "name": "brick/varexporter", @@ -148,34 +148,31 @@ }, { "name": "doctrine/persistence", - "version": "3.4.3", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "d59e6ef7caffe6a30f4b6f9e9079a75f52c64ae0" + "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/d59e6ef7caffe6a30f4b6f9e9079a75f52c64ae0", - "reference": "d59e6ef7caffe6a30f4b6f9e9079a75f52c64ae0", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/b9c49ad3558bb77ef973f4e173f2e9c2eca9be09", + "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09", "shasum": "" }, "require": { "doctrine/event-manager": "^1 || ^2", - "php": "^7.2 || ^8.0", + "php": "^8.1", "psr/cache": "^1.0 || ^2.0 || ^3.0" }, - "conflict": { - "doctrine/common": "<2.10" - }, "require-dev": { - "doctrine/coding-standard": "^12 || ^14", - "doctrine/common": "^3.0", - "phpstan/phpstan": "^1 || 2.1.30", - "phpstan/phpstan-phpunit": "^1 || ^2", - "phpstan/phpstan-strict-rules": "^1 || ^2", - "phpunit/phpunit": "^8.5.38 || ^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0" + "doctrine/coding-standard": "^14", + "phpstan/phpstan": "2.1.30", + "phpstan/phpstan-phpunit": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.58 || ^12", + "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0", + "symfony/finder": "^4.4 || ^5.4 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -224,7 +221,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.4.3" + "source": "https://github.com/doctrine/persistence/tree/4.1.1" }, "funding": [ { @@ -240,7 +237,7 @@ "type": "tidelift" } ], - "time": "2025-10-21T15:21:39+00:00" + "time": "2025-10-16T20:13:18+00:00" }, { "name": "laminas/laminas-permissions-rbac", @@ -5280,31 +5277,34 @@ }, { "name": "symfony/cache", - "version": "v6.4.30", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "eb3272ed2daed13ed24816e862d73f73d995972a" + "reference": "21e0755783bbbab58f2bb6a7a57896d21d27a366" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/eb3272ed2daed13ed24816e862d73f73d995972a", - "reference": "eb3272ed2daed13ed24816e862d73f73d995972a", + "url": "https://api.github.com/repos/symfony/cache/zipball/21e0755783bbbab58f2bb6a7a57896d21d27a366", + "reference": "21e0755783bbbab58f2bb6a7a57896d21d27a366", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^2.5|^3", + "symfony/cache-contracts": "^3.6", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.3.6|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/var-dumper": "<5.4" + "doctrine/dbal": "<3.6", + "ext-redis": "<6.1", + "ext-relay": "<0.12.1", + "symfony/dependency-injection": "<6.4", + "symfony/http-kernel": "<6.4", + "symfony/var-dumper": "<6.4" }, "provide": { "psr/cache-implementation": "2.0|3.0", @@ -5313,15 +5313,16 @@ }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5356,7 +5357,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.30" + "source": "https://github.com/symfony/cache/tree/v7.4.1" }, "funding": [ { @@ -5376,7 +5377,7 @@ "type": "tidelift" } ], - "time": "2025-12-01T16:41:59+00:00" + "time": "2025-12-04T18:11:45+00:00" }, { "name": "symfony/cache-contracts", diff --git a/test/Role/ObjectRepositoryRoleProviderTest.php b/test/Role/ObjectRepositoryRoleProviderTest.php index 4aee5262..db40ba3a 100644 --- a/test/Role/ObjectRepositoryRoleProviderTest.php +++ b/test/Role/ObjectRepositoryRoleProviderTest.php @@ -39,6 +39,9 @@ use function count; use function is_array; +use function sys_get_temp_dir; + +use const PHP_VERSION_ID; #[CoversClass(ObjectRepositoryRoleProvider::class)] class ObjectRepositoryRoleProviderTest extends TestCase @@ -226,10 +229,17 @@ public function testObjectRepositoryProviderForHierarchicalRole() private function getObjectManager(): ObjectManager|EntityManager { - $config = ORMSetup::createAttributeMetadataConfiguration( + $config = ORMSetup::createAttributeMetadataConfiguration( paths: [__DIR__ . '/../Asset'], isDevMode: true ); + + if (PHP_VERSION_ID >= 80400) { + $config->enableNativeLazyObjects(true); + $config->setProxyDir(sys_get_temp_dir()); + $config->setProxyNamespace('Proxies'); + } + $connection = DriverManager::getConnection([ 'driverClass' => Driver::class, 'path' => null,