# Koenig (18.04.2016 / 22:40)
L!MP, а для работы с бд уже не кошерно через синглтон цеплять базу к классу?
Ви таки удивитесь, но singleton, это то же dependency lookup. Так что да, не кошерно.
# ramzes (18.04.2016 / 22:45)
L!MP, почему жестко?
А сам registry? гг
Вот разрабатываешь ты какой-то сервисный компонент, и если кто-то захочет использовать его в своём коде, то он не сможет это сделать без registry. Причем именно твоего и никакого другого.
А вот вынес бы ты определение зависимости за пределы класса:
new Foo(new Settings()) // или что там у тебя за getFromMysqli, я так и не понял
И всё было бы по другому. Твой код можно было бы использовать как обычный РНР класс, а у пользователя были бы развязаны руки по вопросу решения зависимостей этого класса.
Он бы мог их передать руками или использовать какую-либо библиотеку управления зависимостями (например, DI контейнер).
# L!MP (18.04.2016 / 23:03)
А сам registry? гг
Вот разрабатываешь ты какой-то сервисный компонент, и если кто-то захочет использовать его в своём коде, то он не сможет это сделать без registry. Причем именно твоего и никакого
[new Config('mysqli'), 'cache' => new Cache()]
но я не говорил о сервисе
речь вроде как об обертке мускули
ну и не пишу я "для всех", без меня хватает срущих своим кодом в интернеты
ramzes,
но я не говорил о сервисе речь вроде как об обертке мускули
Вот ты так просто говоришь "обертка мускули", а это ведь, между прочим, сервисный слой доступа к данным (data access layer)
. гг
ладно, зайдем с другого угла))
я так не делаю)
я вообще конструктором инициализирую публичный метод set() или ни чего, опять же, это ты говоришь о общепринятом. но оно снова не единственно-верное.
не, я согласен, то о чем ты говоришь удобно и логично, я не спорю. я лишь не согласен с "писать надо как дедушка зенд завещал"
не более того
ramzes, Дядюшка Фаулер, тогда уж.
А так да, писать можно как угодно, только что б потом это никто не видел и не поддерживал, гг.
L!MP, а че кто то поддерживает чужой код?)))
ты мод на джон же делаешь, нравится его код?
P.S. представил человека поддерживающего класс upload тот что в джоне заюзан, рыдаю от сочувствия
ramzes, а причем тут джон вообще. Джон, да простит меня всевышний старый - УГ.
А класс, то что ты упомянул, вообще образец антипатернов.
# ramzes (18.04.2016 / 23:27)
P.S. представил человека поддерживающего класс upload тот что в джоне заюзан, рыдаю от сочувствия
А что ты юзаешь вместо него для загрузки файлов и работы с изображениями?
ValekS, когда как, вот это, например:
https://github.com/Intervention/image