Konstantin
вроде смысл претензии прояснился
Konstantin
но...
Konstantin
> Что мешает балбесу уронить стойку с сервером
Konstantin
вот как по мне, то если балбесы могут покалечить родительский класс, то закладываться на это - это как закладываться на то, что они уронят стойку
Dmitriy
Я не говорил что это панические болезни. Я наследуюсь когда это нужно. Просто иногда это не нужно. А тут всегда советуют "наследование" даже когда этого вообще не нужно
Dmitriy
ну да yii2 не всегда дает хорошие интсрументы для правильной архитектуры. и с этим ничего нельзя сделать
Konstantin
кстати только что проверил
SarcasmIO
просто не понимаю этой панической боязни наследования
на дворе 2017 год, мы так и не научились использовать наследование
Konstantin
The enforcement of the declared return type during inheritance is invariant; this means that when a sub-type overrides a parent method then the return type of the child must exactly match the parent and may not be omitted. If the parent does not declare a return type then the child is allowed to declare one.
Konstantin
если в родительском классе указан возвращаемый тип, то в наследниках придется указывать такой же
Konstantin
в php7
SarcasmIO
на дворе 2017 год, мы так и не научились использовать наследование
есть очень мало кейсов, где его нельзя выпилить из системы и очень много ситуаций в которых оно порождает сложность и боль
Dmitriy
просто не понимаю этой панической боязни наследования
Тут не боязнь. Просто если знаешь минусы и плюсы наследования то пересматриваешь архитектуру и сам свой код, не более того
andrew
не для солид. а для контейнера
Для инверсии зависимости
andrew
И всн
Dmitriy
И всн
как раз контейнер и это реализует
andrew
Даже кто-то умный говорил, мол предпочитайте композицию наследованию
Dmitriy
да.
SarcasmIO
SarcasmIO
когда domain expert приходит и говорит теперь нам нужно так, а не эдак
SarcasmIO
а хотелки бизнеса имеют свойство плодиться, а когда архитектура завянана на наследование это сильная связность, гуглить в сторону coupling && cohesion
SarcasmIO
и почему это плохо
SarcasmIO
идеальная грань посередине, что собственно нам и дает композиция
andrew
Но насколько я понимаю, правильный декоратор тот, который реализует интерфейс декорируемого объекта
andrew
В юи с этим сложно
andrew
Особенно для эктив рекорд моделей
andrew
В ddd еще норм
SarcasmIO
вот реквестирую @yegor256 с докладом о том, почему AR анти паттерн
SarcasmIO
но это считай необходимое зло
SarcasmIO
потому что мы так привыкли делать
andrew
Увы, юи его использует
andrew
Поэтому декоратор приходится делать без реализации интерфейса
andrew
Ибо это боль, все методы реализовывать и делегировать внутреннему объекту
Dmitriy
В юи с этим сложно
Можно спокойно.
andrew
Можно магическими методами как поведения прокидывать
SarcasmIO
не один yii, сути вещей не меняет, можно на вещи смотреть по разному и задача разработчика выбрать путь которые в перспективе будет менее болезненный в поддержке напиливанию новых фич и тд, потому и приходится идти на своего рода компромисы, потому и inheritance is evil
andrew
Можно спокойно.
Чтоб сделать декоратор ар модели ты все функции реализуешь из интерфейса?)
Dmitriy
аа AR. у меня еще перед AR абстракция
andrew
Поэтому в контексте ар моделей это боль юзать правильную декорацию
Dmitriy
хм. для чего тут нужна декорация в AR ?
Dmitriy
не могу придумать кейс
andrew
Чтобы добавить доп функциональность динамически
andrew
Для чего и служат декораторы
andrew
Сталкивался с этим давно, но забил
Dmitriy
я знаю для чего обычно они служат. Ну у меня это делают отдельные классы.
Dmitriy
и не декораторы
andrew
Ну рад за вас
andrew
)))
andrew
Тут ведь вопрос архитектуры
Павел
Выдохся холивар
Dmitriy
его не было
Сергей
Читаю про DDD на сон грядущий :) Может есть у кого ещё примеры DDD на базе AR и Yii2, кроме Дмитрия Елисеева (https://github.com/ElisDN/yii2-demo-aggregates/tree/ar) ?
Витебск 01
[['password'], 'string', 'min'=>6, 'message'=>'Минимальная длинна пароля 6 символов'],
Витебск 01
Вывод message не работает. Как записать правильно?
who are you
Не работает потому что на длину может быть не message а например messageLenght
Сергей
tooShort вместо message http://stuff.cebe.cc/yii2docs-ru/yii-validators-stringvalidator.html#$tooShort-detail
mr.
configuring node js support
mr.
И так вот висит, было у кого такое?
mr.
В шторме.
Павел
И эти люди критикуют сидящих на саблайме 😆
mr.
Ага, видел я код после сублимяторов...
Borys
И эти люди критикуют сидящих на саблайме 😆
так то саблайм не плох очень даже
Павел
И штормисты есть такие что штормит от их кода
Borys
текстовые файлы открывать :D
Павел
текстовые файлы открывать :D
А тебя удивлю можт, но файлы php оне текстовые 😂
Borys
этого не можит быт
mr.
Не кормите этого тролля
mr.
Павел
Borys
они не текстовые, они програмисстские
Borys
какой в них текст? если в них программа?
Павел
Borys
Vladislav
Ctrl + Alt + Shift + L
Ctrl+Alt+P -> irl -> Identation: Reindent Lines
Vladislav
если часто пользуешься, то даже искать не надо
Vladislav
сама вылезет