Паттерн Singleton на реальном примере в PHP

preview_player
Показать описание
#php #designpatterns #programming #программирование Разбираем паттерн Singleton с использованием в реальном коде.
Старался не пересказать википедию, а показать пример с пользой от использования паттерна.

Рекомендации по теме
Комментарии
Автор

Только что сидел и удивлялся отсутствию нормальных примеров реализации этого патерна. И вот попал на шутку об этом в Вашем видео ))) Очень благодарен за разбор!

b-o-t-l-y
Автор

Спасибо. Очень доступно и познавательно

user_noname_dgdh
Автор

Как раз погружаюсь в паттерны, продолжай пожалуйста)

blackCitySkyline
Автор

если сервисы могут быть вызваны в разном порядке, то всё равно надо будет конфигурировать инстанс. вынести всё в отдельный файл init_log.php где создать объект и настроить его, а в других файлах делать require_once init_log.php ?

vadimkh
Автор

Заметил в методах которые возвращают объект, вы используете : self, где-то вычитал, для $this рекомендуется указывать возвращаемый тип : static глубоко не копал в чем разница, но видимо это пока просто рекомендация (для php8)

asyrtmach
Автор

Ниче не понял. Изначально у тебя было два разных объекта логгера, с префиксом и без, с сохранением в файл и в лог. Как это решает твой синглтон ? Ты их тупо одинаковыми сделал. Не хочешь каждый раз создавать set-ы, сделай наиболее часто используемые данные по дефолту. Странный пример, короче. Лучше на примере подключения к БД показывать, типа один раз подключаемся к базе и все. Там уж точно ничего не меняется.

Denisko
Автор

На такой синглтон (без финализации класса) есть Паблик Морозов. А конкретно ваш синглтон можно обойти даже не экстэндя, а просто через __sleep __wakeup. Лучше бы про нужду использования побольше рассказали и про спор паттерн это или антипаттерн.

lytican
Автор

так после с инглтона у нас у всех получается одинаковый набор полей "дата, префикс и тд", а если нам это не надо то всеравно придется дублировать ведь? четь суть не дублируемости не показана

duoduoo