ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ClassNameToScreenId.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24{
25 private static string $REGEX = '/il(Object|Obj|)(.*)GUI/mi';
26
27 protected function classNameToScreenId(string $classname): ?string
28 {
29 $classname = str_replace("ILIAS\\", "", $classname);
30 // remove ILIAS from namespaces
31 $classname = preg_replace(self::$REGEX, "$2", $classname);
32
33 // remove GUI from name
34 $classname = str_replace("GUI", "", $classname);
35
36
37 $classname = $this->snakeToCamel($classname);
38
39 // remove namespace separators
40 $classname = str_replace("\\", "", $classname);
41 return $classname;
42 }
43
44 protected function snakeToCamel(string $command): string
45 {
46 return strtolower(preg_replace('/(?<!^)[A-Z]/', '_$0', $command));
47 }
48}
classNameToScreenId(string $classname)