Size: a a a

2020 October 05

Д

Дмитрий in Yii Framework 3
Точно, спасибо :)
источник

AM

Alexander Makarov in Yii Framework 3
источник
2020 October 06

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
там не бизнес-логика, там скорее доп. данные, что-то вроде:
/**
* @property-read string $shortname
* @property-read string $supportProjectTags
*/
class \Project\Department extends Enum
{
   private const WEBDEV = \Shared\Department::WEBDEV;
   private const ADV = \Shared\Department::ADV;

 public static function items()
   {
       return [
           self::WEBDEV => [
               'name' => 'Веб-разработка',
               'shortName' => 'Вебдев',
               'supportProjectTags' => true,
           ],
           self::ADV => [
               'name' => 'Отдел рекламы',
               'shortName' => 'Реклама',
               'supportProjectTags' => false,
           ],
   ];
 }
}
Никогда бы не додумался отделы сделать в виде перечисления)
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Никогда бы не додумался отделы сделать в виде перечисления)
Ну они заранее известны. Это департаменты, в системе есть отделы с подотделами и для корневых отделов можно указать какой это департамент (в системе может быть только один департамент).
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Ну они заранее известны. Это департаменты, в системе есть отделы с подотделами и для корневых отделов можно указать какой это департамент (в системе может быть только один департамент).
В перечислении принято хранить вещи не только заранее известные, но и незыблемые или почти незыблемые. А департаменты имеют свойство появляться и пропадать. Это типичный справочник. Кроме того, у тебя уже сейчас в департаменте хранятся дополнительные свойства и тебе приходится лепить костыли, чтобы запихнуть их в перечисление. А завтра бизнес потребует добавить еще свойств в департамент и дать возможность их редактировать в пользовательском интерфейсе. И тебе придется переписать кучу кода и переписать схему бд. А оно тебе надо?)
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
В перечислении принято хранить вещи не только заранее известные, но и незыблемые или почти незыблемые. А департаменты имеют свойство появляться и пропадать. Это типичный справочник. Кроме того, у тебя уже сейчас в департаменте хранятся дополнительные свойства и тебе приходится лепить костыли, чтобы запихнуть их в перечисление. А завтра бизнес потребует добавить еще свойств в департамент и дать возможность их редактировать в пользовательском интерфейсе. И тебе придется переписать кучу кода и переписать схему бд. А оно тебе надо?)
Логика есть в твоих словах. Но в моем случае так выходит удобнее. Там только то, что через админку не надо менять
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Логика есть в твоих словах. Но в моем случае так выходит удобнее. Там только то, что через админку не надо менять
Если это тренировочный проект, то может и прокатит. Если это реальная разработка для бизнеса - оно рано или поздно вылезет.
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Если это тренировочный проект, то может и прокатит. Если это реальная разработка для бизнеса - оно рано или поздно вылезет.
Это йразработке уже больше 3х лет, пока не вылезло. Надеюсь и не вылезет.
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Это йразработке уже больше 3х лет, пока не вылезло. Надеюсь и не вылезет.
Так ты ж только сейчас спрашиваешь как перечисление лучше сделать, как оно может три года работать?)
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Так ты ж только сейчас спрашиваешь как перечисление лучше сделать, как оно может три года работать?)
Рефакторинг)
источник

Д

Дмитрий in Yii Framework 3
У меня тут есть предложение
https://github.com/yiisoft/docs/issues/69
источник

А

Алексей R in Yii Framework 3
А зачем?
источник

А

Алексей R in Yii Framework 3
Если класс будет меняться из неабстрактного в абстрактный, то надо будет его упоминания искать, чтобы переименовать. А если класс будет называться типа "базовый класс", то ничего не поменяется
источник

Д

Дмитрий in Yii Framework 3
Ну там ссылочка стоит на словах
PSR Naming Conventions says:
источник

RM

Rustam Mamadaminov in Yii Framework 3
+
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
Ну там ссылочка стоит на словах
PSR Naming Conventions says:
Это конвенции для самого psr
источник

AM

Alexander Makarov in Yii Framework 3
Не для юзеров.
источник

AM

Alexander Makarov in Yii Framework 3
Тем более, PSR про интерфейсы. Ни одного абстрактного класса там нет.
источник

Д

Дмитрий in Yii Framework 3
На стриме был как раз момент про префиксы :)
источник

В

Виктор in Yii Framework 3
Я обычно в своих проектах так и делаю
источник