Final public method for abstract class

All public methods of abstract classes should be final. Enforce API encapsulation in an inheritance architecture. If you want to override a method, use the Template method pattern.
This commit is contained in:
MathiasReker
2022-06-16 21:09:49 +02:00
parent 7b24e1185a
commit 6ec696d00b
6 changed files with 8 additions and 8 deletions

View File

@@ -22,7 +22,7 @@ abstract class Registry
self::LOGGER,
];
public static function set(string $key, Service $value)
final public static function set(string $key, Service $value)
{
if (!in_array($key, self::$allowedKeys)) {
throw new InvalidArgumentException('Invalid key given');
@@ -31,7 +31,7 @@ abstract class Registry
self::$services[$key] = $value;
}
public static function get(string $key): Service
final public static function get(string $key): Service
{
if (!in_array($key, self::$allowedKeys) || !isset(self::$services[$key])) {
throw new InvalidArgumentException('Invalid key given');