diff --git a/MessageCatalogue.php b/MessageCatalogue.php index a5a57be6..ff49b5a9 100644 --- a/MessageCatalogue.php +++ b/MessageCatalogue.php @@ -49,11 +49,10 @@ public function getLocale() public function getDomains() { $domains = []; - $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); foreach ($this->messages as $domain => $messages) { - if (\strlen($domain) > $suffixLength && false !== $i = strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { - $domain = substr($domain, 0, $i); + if (str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) { + $domain = substr($domain, 0, -\strlen(self::INTL_DOMAIN_SUFFIX)); } $domains[$domain] = $domain; } @@ -68,7 +67,7 @@ public function all(string $domain = null) { if (null !== $domain) { // skip messages merge if intl-icu requested explicitly - if (str_contains($domain, self::INTL_DOMAIN_SUFFIX)) { + if (str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) { return $this->messages[$domain] ?? []; } @@ -76,11 +75,10 @@ public function all(string $domain = null) } $allMessages = []; - $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); foreach ($this->messages as $domain => $messages) { - if (\strlen($domain) > $suffixLength && false !== $i = strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { - $domain = substr($domain, 0, $i); + if (str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) { + $domain = substr($domain, 0, -\strlen(self::INTL_DOMAIN_SUFFIX)); $allMessages[$domain] = $messages + ($allMessages[$domain] ?? []); } else { $allMessages[$domain] = ($allMessages[$domain] ?? []) + $messages; @@ -161,8 +159,7 @@ public function add(array $messages, string $domain = 'messages') $this->messages[$domain] = []; } $intlDomain = $domain; - $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); - if (\strlen($domain) < $suffixLength || !str_contains($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { + if (!str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) { $intlDomain .= self::INTL_DOMAIN_SUFFIX; } foreach ($messages as $id => $message) { diff --git a/Tests/TranslatorCacheTest.php b/Tests/TranslatorCacheTest.php index 2d890c8c..3720aeb7 100644 --- a/Tests/TranslatorCacheTest.php +++ b/Tests/TranslatorCacheTest.php @@ -104,7 +104,7 @@ public function testCatalogueIsReloadedWhenResourcesAreNoLongerFresh() $catalogue = new MessageCatalogue($locale, []); $catalogue->addResource(new StaleResource()); // better use a helper class than a mock, because it gets serialized in the cache and re-loaded - /** @var LoaderInterface|MockObject $loader */ + /** @var MockObject&LoaderInterface $loader */ $loader = $this->createMock(LoaderInterface::class); $loader ->expects($this->exactly(2))