99
1010use PhpMyAdmin \Config \ConfigFile ;
1111
12+ use function array_key_exists ;
13+ use function array_keys ;
1214use function array_merge ;
13- use function class_exists ;
14- use function in_array ;
1515
1616class BaseFormList
1717{
1818 /**
1919 * List of all forms
2020 *
21- * @var string[]
21+ * @var array< string, class-string<BaseForm>>
2222 */
2323 protected static $ all = [];
2424
25- /** @var string */
26- protected static $ ns = 'PhpMyAdmin \\Config \\Forms \\' ;
27-
28- /** @var array */
25+ /** @var BaseForm[] */
2926 private $ forms ;
3027
3128 /**
3229 * @return string[]
3330 */
34- public static function getAll ()
31+ public static function getAllFormNames ()
3532 {
36- return static ::$ all ;
33+ return array_keys ( static ::$ all) ;
3734 }
3835
3936 /**
4037 * @param string $name Name
4138 */
42- public static function isValid ($ name ): bool
39+ public static function isValid (string $ name ): bool
4340 {
44- return in_array ($ name , static ::$ all );
41+ return array_key_exists ($ name , static ::$ all );
4542 }
4643
4744 /**
@@ -50,13 +47,10 @@ public static function isValid($name): bool
5047 * @return string|null
5148 * @psalm-return class-string<BaseForm>|null
5249 */
53- public static function get ($ name )
50+ public static function get (string $ name )
5451 {
5552 if (static ::isValid ($ name )) {
56- /** @var class-string<BaseForm> $class */
57- $ class = static ::$ ns . $ name . 'Form ' ;
58-
59- return $ class ;
53+ return static ::$ all [$ name ];
6054 }
6155
6256 return null ;
@@ -68,12 +62,7 @@ public static function get($name)
6862 final public function __construct (ConfigFile $ cf )
6963 {
7064 $ this ->forms = [];
71- foreach (static ::$ all as $ form ) {
72- $ class = (string ) static ::get ($ form );
73- if (! class_exists ($ class )) {
74- continue ;
75- }
76-
65+ foreach (static ::$ all as $ class ) {
7766 $ this ->forms [] = new $ class ($ cf );
7867 }
7968 }
@@ -141,12 +130,7 @@ public function hasErrors(): bool
141130 public static function getFields ()
142131 {
143132 $ names = [];
144- foreach (static ::$ all as $ form ) {
145- $ class = (string ) static ::get ($ form );
146- if (! class_exists ($ class )) {
147- continue ;
148- }
149-
133+ foreach (static ::$ all as $ class ) {
150134 $ names = array_merge ($ names , $ class ::getFields ());
151135 }
152136
0 commit comments