Понятно. Один енамы пихал не прочитав до конца, другмоу доты подавай, когда они не требовались. Изи ребята)))
потому что тебя читают тыщи местных челиков, и кто-то полюбому намотает на ус твою говнореализацию. а потом пойдет делать проект. И забьет. Спустя некоторое время придет еще 1 программер, увидит эту хуйню и скажет... опять ебучие пхпшники писали.
Я понял, онли интерпрайз, онли готовые решения - отсальное говно.
Собственно что я и говорил выше
просто потмоу что эта часть приложения (конфиг) очень сильно подвержена изменениям. И поскольку все приложение зависит от этого класса, у тебя будет куча проблем, связанных с этими изменениями.
Вы рассуждаете как архитектор, только уже задача поставлена.
об этом надо думать в первую очередь. Одно дело когда ты конфиг можешь загнать под интерфейс и уменьшить связность, другое когда ты просто вызываешь методы где-то, которые никакому контролю не поддаются. И ... тебе пизда в первый же день работы над проектом.
Я бы сказал что с дот моментом больше каплинга даже. Это удобно и универсально. Но как раз подменить будет сложнее. Так как новый конфиг должен будет иметь такой же функионал, так же распологать и прочее. А вдруг кроме дота еще какие были моменты и мы их забыли в новой реализации?
Как там внутренности устроены не важно. ты можешь стратегией решить как работать с дотами. и работать ли ваще.
Интерфейс get(string) ничего нам не говорит о том, что моожет реалихация
а нам и не надо. нам надо получить значение, и если его нет подставить дефолт. Все.
Ну вот вы говорите, что у нас есть интерфейс get(string). Мы где то один раз использовали доты. ПОчему то мы забыли что их использовали и подменили класс конфига, который с ними не работает.
а разве мы не должны конфиги прокидывать в di контейнер?
Не понял вопроса.
я так понял, есть интерфейс, котоый через get получает значение конфига. Но для чего мне иметь доступ ко всем конфигам внутри одного класса? Разве мы не должны нужное значение инжектить в сервис при его билде?
Я немного не об этом писал. Новая имплементация интерфейса может не уметь разбирать дот строки. Потому что в интерфейсе это никак не указано, там get(string). А если там какие то еще сервисные симфолы? Доллары, вопросы, которые тоже что то будут означать. Я к тому что интерфейс очень неявный.
оно просто вернет дефолт. потому что значение не было найдено. И приложуха не сломается. С твоими явными или магическими методами у тебя посыперся все, если ты удалишь или изменишь название.
Дефолт чего? Он просто не понимает откуда достать это "db.user"
get(string $key, $default = null) Так понятней? нашел ключ? - отдал его. Нету? отдал дефолт
Посмотрел параметрбаг симфони, нет там дефолта, крашнется он
Обсуждают сегодня