From 1495ae3c0f153916075e477e54591124b62c6bed Mon Sep 17 00:00:00 2001 From: Georges Date: Thu, 5 Jan 2023 10:22:11 +0100 Subject: [PATCH 1/3] Added missing specification on max cache key length --- lib/Phpfastcache/Core/Pool/CacheItemPoolTrait.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/Phpfastcache/Core/Pool/CacheItemPoolTrait.php b/lib/Phpfastcache/Core/Pool/CacheItemPoolTrait.php index a942ad29..eed33770 100644 --- a/lib/Phpfastcache/Core/Pool/CacheItemPoolTrait.php +++ b/lib/Phpfastcache/Core/Pool/CacheItemPoolTrait.php @@ -458,6 +458,13 @@ protected function validateCacheKey(string $key): void Please check: https://github.com/PHPSocialNetwork/phpfastcache/wiki/%5BV6%5D-Unsupported-characters-in-key-identifiers' ); } + + if (strlen($key) > 64) { + throw new PhpfastcacheInvalidArgumentException( + 'Cache key is too long (up to 64 chars maximum). + Please check: https://www.php-fig.org/psr/psr-6/' + ); + } } protected function handleExpiredCacheItem(ExtendedCacheItemInterface $item): void From 4450b53b4fab0a0bc36825a849457f13c67cd41b Mon Sep 17 00:00:00 2001 From: Georges Date: Thu, 5 Jan 2023 10:22:34 +0100 Subject: [PATCH 2/3] Suggest psr/event-dispatcher in composer.json --- composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 81fd2b01..a23836dc 100644 --- a/composer.json +++ b/composer.json @@ -54,7 +54,8 @@ "doctrine/couchdb": "^dev-master#9eeb9e5", "triagens/arangodb": "^3.8", "google/cloud-firestore": "^1.20", - "aws/aws-sdk-php": "~3.0" + "aws/aws-sdk-php": "~3.0", + "psr/event-dispatcher": "~1.0" }, "conflict": { "doctrine/couchdb": " Date: Thu, 5 Jan 2023 10:22:58 +0100 Subject: [PATCH 3/3] Fixed broken Solr test if psr/event-dispatcher is missing --- tests/Solr.test.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/Solr.test.php b/tests/Solr.test.php index 1fb0c820..f78f27f8 100644 --- a/tests/Solr.test.php +++ b/tests/Solr.test.php @@ -13,8 +13,6 @@ */ use Phpfastcache\CacheManager; -use Phpfastcache\Core\Pool\ExtendedCacheItemPoolInterface; -use Phpfastcache\Event\EventReferenceParameter; use Phpfastcache\EventManager; use Phpfastcache\Tests\Helper\TestHelper; use Phpfastcache\Drivers\Solr\Config as SolrConfig; @@ -23,6 +21,11 @@ require_once __DIR__ . '/../vendor/autoload.php'; $testHelper = new TestHelper('Solr driver'); +if(!class_exists(Psr\EventDispatcher\EventDispatcherInterface::class)) { + $testHelper->assertSkip('PSR EventDispatcher is not installed !'); + $testHelper->terminateTest(); +} + /** @var SolrConfig $solrConfig */ $solrConfig = $testHelper->preConfigure(new SolrConfig()); $solrConfig->setCoreName('phpfastcache'); // Optional: Default value