Доброго времени суток! Как вы думаете, прав ли этот коментатор https://github.com/atomastic/registry/issues/4 ? Разве паттерн реестр - это не синглтон с запертом на наследование ? как это у меня реализованно сейчас: https://github.com/atomastic/registry/blob/dev/src/Registry.php или быть может я ошибаюсь ?
обновил в общем класс в новой ветки релиза (3.0.0) посмотрел, все по разному понимают этот патерн... https://github.com/atomastic/registry/blob/dev/src/Registry.php
4.0.0 PHP: <?php declare ( strict_types = 1 ); namespace Atomastic\Registry; use Atomastic\{ Arrays\Arrays, Macroable\Macroable }; class Registry extends Arrays { use Macroable; private static Registry $instance, Arrays $storage; public static function getInstance(): Registry { static :: $storage ??= new Arrays; return static :: $instance ??= new self; } protected function __construct() {} protected function __clone() {} public function __wakeup(): void {} }
И ? думаешь я туда не смотрел? я так же смотрел что этот патер может быть и как синглтон реализовываться тоже
а зачем ему синглтон, если это чистая статика (что ты там увидишь через new? пустоту?), да ещё и защищённая от new абстрактностью
Ну, у Вас класс Arrays реестр по сути, но по мне как тоже не совсем то, чего хотелось бы. Например, когда писал реестр 1) обязательно описывал интерфейс Registry; 2) был базовый простой-шустрый реестр; 3) был древовидный, умеющий разбирать ключ по разделителю и ковырять вглубь вложенного массива. Что-то такое получилось https://github.com/donbidon/core-dev/tree/master/src/Registry