Size: a a a

2020 September 17

СП

Сергей Предводителев... in Yii Framework 3
Виктор
Не нарушать LSP
так ничего и не нарущается же
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
SelfEmployed
он станет ещё одним типом контрагента
источник

СП

Сергей Предводителев... in Yii Framework 3
на одном уровне с ооо, ип и фл
источник

СП

Сергей Предводителев... in Yii Framework 3
Виктор
Не нарушать LSP
class Contractor { ... }
class Fizik extends Contractor { ... }
class Org extends Contractor { ... }

Мы можем заменить все использования Contractor на Fizik или Org и всё будет работать.

Ты же об этом?
источник

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
он станет ещё одним типом контрагента
У него свои собственные будут поля.
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
У него свои собственные будут поля.
в дополнение к полям контрагента
источник

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
в дополнение к полям контрагента
То есть ты добавишь все поля в контрагента?
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
То есть ты добавишь все поля в контрагента?
Как вариант. Но я рассматриваю предложенный тобой вариант разбиения на таблицы (для хранения), но не пойму как реализовывать в самих сущностях, которые наследуются от контрагента.
источник

NO

Nex Otaku in Yii Framework 3
Всё что требуется можно вытянуть через таблицу связей
источник

СП

Сергей Предводителев... in Yii Framework 3
Твой подход подразумевает один класс Contractor? Или Contractor + отнаследованные от него ип, физик и тд?
источник

NO

Nex Otaku in Yii Framework 3
Представь как бы сделал человек, если бы вёл всё на бумаге. Допустим некий бухгалтер.

Для каждого контрагента заводится папка с данными. В каждой папке (для простоты берём) хранится два листочка.

Первый листок, данные по контрагенту. Форма единая для всех контрагентов.

Второй листок, подробные анкетные данные, всё что требуется для конкретного типа. Для физлиц одна форма, для организаций вторая форма, для ИП третья.

Примерно такую структуру можно создать в БД и в коде.
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Представь как бы сделал человек, если бы вёл всё на бумаге. Допустим некий бухгалтер.

Для каждого контрагента заводится папка с данными. В каждой папке (для простоты берём) хранится два листочка.

Первый листок, данные по контрагенту. Форма единая для всех контрагентов.

Второй листок, подробные анкетные данные, всё что требуется для конкретного типа. Для физлиц одна форма, для организаций вторая форма, для ИП третья.

Примерно такую структуру можно создать в БД и в коде.
Вот ты любишь не отвечать на вопрос :)
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Представь как бы сделал человек, если бы вёл всё на бумаге. Допустим некий бухгалтер.

Для каждого контрагента заводится папка с данными. В каждой папке (для простоты берём) хранится два листочка.

Первый листок, данные по контрагенту. Форма единая для всех контрагентов.

Второй листок, подробные анкетные данные, всё что требуется для конкретного типа. Для физлиц одна форма, для организаций вторая форма, для ИП третья.

Примерно такую структуру можно создать в БД и в коде.
Как в коде быть в приведённом примере
источник

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
Твой подход подразумевает один класс Contractor? Или Contractor + отнаследованные от него ип, физик и тд?
Без наследования. Наследование — это жёсткая связь, её следует избегать, если можно обойтись без неё. Здесь больше подходит композиция, кмк
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Без наследования. Наследование — это жёсткая связь, её следует избегать, если можно обойтись без неё. Здесь больше подходит композиция, кмк
контрагент будет иметь ссылку на ИП / ООО / ФЛ / Самозанятых, которые будут реализовывать некий интерфейс и по нему отдавать что там ему надо?
источник

NO

Nex Otaku in Yii Framework 3
в коде
$fizik->getContragentInfo()->getInn()
$fizik->getContragentInfo()->getSummary()
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
в коде
$fizik->getContragentInfo()->getInn()
$fizik->getContragentInfo()->getSummary()
$contraget->getInfo() надо, а у типов у каждого своя реализация
источник

NO

Nex Otaku in Yii Framework 3
Это без разницы. Ты можешь реализовать оба варианта доступа к данным.
источник

СП

Сергей Предводителев... in Yii Framework 3
"контрагент будет иметь ссылку на ИП / ООО / ФЛ / Самозанятых, которые будут реализовывать некий интерфейс и по нему отдавать что там ему надо"

Вот это вроде вписывается в то, о чем ты говоришь, да?
источник

NO

Nex Otaku in Yii Framework 3
Одновременно ) Если понадобится
источник