From 5f79071e4c27cf06dea421010bc22bb7238f4cf3 Mon Sep 17 00:00:00 2001 From: "Eren A. Akyol" Date: Sun, 14 Jun 2020 13:48:15 +0300 Subject: [PATCH] Registry Trait: fixed magic methods not working properly when system locale is tr_TR (#3580) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed incorrect case of incorrect letters on operating systems using languages other than English. Like (Stair => STAİR) --- src/utils/RegistryTrait.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils/RegistryTrait.php b/src/utils/RegistryTrait.php index 044900bd4..80abf6adc 100644 --- a/src/utils/RegistryTrait.php +++ b/src/utils/RegistryTrait.php @@ -30,7 +30,7 @@ use function implode; use function sprintf; use function strlen; use function strpos; -use function strtoupper; +use function mb_strtoupper; use function substr; trait RegistryTrait{ @@ -43,11 +43,11 @@ trait RegistryTrait{ * @throws \InvalidArgumentException */ private static function _registryRegister(string $name, object $member) : void{ - $name = strtoupper($name); + $name = mb_strtoupper($name); if(isset(self::$members[$name])){ throw new \InvalidArgumentException("\"$name\" is already reserved"); } - self::$members[strtoupper($name)] = $member; + self::$members[mb_strtoupper($name)] = $member; } /** @@ -74,7 +74,7 @@ trait RegistryTrait{ */ private static function _registryFromString(string $name) : object{ self::checkInit(); - $name = strtoupper($name); + $name = mb_strtoupper($name); if(!isset(self::$members[$name])){ throw new \InvalidArgumentException("No such registry member: " . self::class . "::" . $name); }