@@ -631,102 +631,39 @@ public static function setMode($mode = self::SQL_MODE_NONE): void
631631 */
632632 private static function getModeFromString (string $ mode ): int
633633 {
634- // phpcs:disable SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants.DisallowedLateStaticBindingForConstant
635- switch ($ mode ) {
636- case 'ALLOW_INVALID_DATES ' :
637- return static ::SQL_MODE_ALLOW_INVALID_DATES ;
638-
639- case 'ANSI_QUOTES ' :
640- return static ::SQL_MODE_ANSI_QUOTES ;
641-
642- case 'COMPAT_MYSQL ' :
643- return static ::SQL_MODE_COMPAT_MYSQL ;
644-
645- case 'ERROR_FOR_DIVISION_BY_ZERO ' :
646- return static ::SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO ;
647-
648- case 'HIGH_NOT_PRECEDENCE ' :
649- return static ::SQL_MODE_HIGH_NOT_PRECEDENCE ;
650-
651- case 'IGNORE_SPACE ' :
652- return static ::SQL_MODE_IGNORE_SPACE ;
653-
654- case 'NO_AUTO_CREATE_USER ' :
655- return static ::SQL_MODE_NO_AUTO_CREATE_USER ;
656-
657- case 'NO_AUTO_VALUE_ON_ZERO ' :
658- return static ::SQL_MODE_NO_AUTO_VALUE_ON_ZERO ;
659-
660- case 'NO_BACKSLASH_ESCAPES ' :
661- return static ::SQL_MODE_NO_BACKSLASH_ESCAPES ;
662-
663- case 'NO_DIR_IN_CREATE ' :
664- return static ::SQL_MODE_NO_DIR_IN_CREATE ;
665-
666- case 'NO_ENGINE_SUBSTITUTION ' :
667- return static ::SQL_MODE_NO_ENGINE_SUBSTITUTION ;
668-
669- case 'NO_FIELD_OPTIONS ' :
670- return static ::SQL_MODE_NO_FIELD_OPTIONS ;
671-
672- case 'NO_KEY_OPTIONS ' :
673- return static ::SQL_MODE_NO_KEY_OPTIONS ;
674-
675- case 'NO_TABLE_OPTIONS ' :
676- return static ::SQL_MODE_NO_TABLE_OPTIONS ;
677-
678- case 'NO_UNSIGNED_SUBTRACTION ' :
679- return static ::SQL_MODE_NO_UNSIGNED_SUBTRACTION ;
680-
681- case 'NO_ZERO_DATE ' :
682- return static ::SQL_MODE_NO_ZERO_DATE ;
683-
684- case 'NO_ZERO_IN_DATE ' :
685- return static ::SQL_MODE_NO_ZERO_IN_DATE ;
686-
687- case 'ONLY_FULL_GROUP_BY ' :
688- return static ::SQL_MODE_ONLY_FULL_GROUP_BY ;
689-
690- case 'PIPES_AS_CONCAT ' :
691- return static ::SQL_MODE_PIPES_AS_CONCAT ;
692-
693- case 'REAL_AS_FLOAT ' :
694- return static ::SQL_MODE_REAL_AS_FLOAT ;
695-
696- case 'STRICT_ALL_TABLES ' :
697- return static ::SQL_MODE_STRICT_ALL_TABLES ;
698-
699- case 'STRICT_TRANS_TABLES ' :
700- return static ::SQL_MODE_STRICT_TRANS_TABLES ;
701-
702- case 'NO_ENCLOSING_QUOTES ' :
703- return static ::SQL_MODE_NO_ENCLOSING_QUOTES ;
704-
705- case 'ANSI ' :
706- return static ::SQL_MODE_ANSI ;
707-
708- case 'DB2 ' :
709- return static ::SQL_MODE_DB2 ;
710-
711- case 'MAXDB ' :
712- return static ::SQL_MODE_MAXDB ;
713-
714- case 'MSSQL ' :
715- return static ::SQL_MODE_MSSQL ;
716-
717- case 'ORACLE ' :
718- return static ::SQL_MODE_ORACLE ;
719-
720- case 'POSTGRESQL ' :
721- return static ::SQL_MODE_POSTGRESQL ;
722-
723- case 'TRADITIONAL ' :
724- return static ::SQL_MODE_TRADITIONAL ;
725-
726- default :
727- return self ::SQL_MODE_NONE ;
728- }
729- // phpcs:enable
634+ return match ($ mode ) {
635+ 'ALLOW_INVALID_DATES ' => self ::SQL_MODE_ALLOW_INVALID_DATES ,
636+ 'ANSI_QUOTES ' => self ::SQL_MODE_ANSI_QUOTES ,
637+ 'COMPAT_MYSQL ' => self ::SQL_MODE_COMPAT_MYSQL ,
638+ 'ERROR_FOR_DIVISION_BY_ZERO ' => self ::SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO ,
639+ 'HIGH_NOT_PRECEDENCE ' => self ::SQL_MODE_HIGH_NOT_PRECEDENCE ,
640+ 'IGNORE_SPACE ' => self ::SQL_MODE_IGNORE_SPACE ,
641+ 'NO_AUTO_CREATE_USER ' => self ::SQL_MODE_NO_AUTO_CREATE_USER ,
642+ 'NO_AUTO_VALUE_ON_ZERO ' => self ::SQL_MODE_NO_AUTO_VALUE_ON_ZERO ,
643+ 'NO_BACKSLASH_ESCAPES ' => self ::SQL_MODE_NO_BACKSLASH_ESCAPES ,
644+ 'NO_DIR_IN_CREATE ' => self ::SQL_MODE_NO_DIR_IN_CREATE ,
645+ 'NO_ENGINE_SUBSTITUTION ' => self ::SQL_MODE_NO_ENGINE_SUBSTITUTION ,
646+ 'NO_FIELD_OPTIONS ' => self ::SQL_MODE_NO_FIELD_OPTIONS ,
647+ 'NO_KEY_OPTIONS ' => self ::SQL_MODE_NO_KEY_OPTIONS ,
648+ 'NO_TABLE_OPTIONS ' => self ::SQL_MODE_NO_TABLE_OPTIONS ,
649+ 'NO_UNSIGNED_SUBTRACTION ' => self ::SQL_MODE_NO_UNSIGNED_SUBTRACTION ,
650+ 'NO_ZERO_DATE ' => self ::SQL_MODE_NO_ZERO_DATE ,
651+ 'NO_ZERO_IN_DATE ' => self ::SQL_MODE_NO_ZERO_IN_DATE ,
652+ 'ONLY_FULL_GROUP_BY ' => self ::SQL_MODE_ONLY_FULL_GROUP_BY ,
653+ 'PIPES_AS_CONCAT ' => self ::SQL_MODE_PIPES_AS_CONCAT ,
654+ 'REAL_AS_FLOAT ' => self ::SQL_MODE_REAL_AS_FLOAT ,
655+ 'STRICT_ALL_TABLES ' => self ::SQL_MODE_STRICT_ALL_TABLES ,
656+ 'STRICT_TRANS_TABLES ' => self ::SQL_MODE_STRICT_TRANS_TABLES ,
657+ 'NO_ENCLOSING_QUOTES ' => self ::SQL_MODE_NO_ENCLOSING_QUOTES ,
658+ 'ANSI ' => self ::SQL_MODE_ANSI ,
659+ 'DB2 ' => self ::SQL_MODE_DB2 ,
660+ 'MAXDB ' => self ::SQL_MODE_MAXDB ,
661+ 'MSSQL ' => self ::SQL_MODE_MSSQL ,
662+ 'ORACLE ' => self ::SQL_MODE_ORACLE ,
663+ 'POSTGRESQL ' => self ::SQL_MODE_POSTGRESQL ,
664+ 'TRADITIONAL ' => self ::SQL_MODE_TRADITIONAL ,
665+ default => self ::SQL_MODE_NONE ,
666+ };
730667 }
731668
732669 /**
0 commit comments