Size: a a a

2020 October 05

RT

Roman Tsurkanu in Yii Framework 3
можно сделать общий енам и 2 наследника в которых буду определены кастомные, но тоже такое себе
источник

СП

Сергей Предводителев... in Yii Framework 3
Я думаю вот так всё-таки сделать:

class \Shared\Department
{
 public const ADMINISTRATION = 1;
   public const SALE = 2;
   public const WEBDEV = 3;
   public const ADV = 4;
}

class \Employee\Department extends Enum
{
   private const ADMINISTRATION = \Shared\Department::ADMINISTRATION;
   private const SALE = \Shared\Department::SALE;
   private const WEBDEV = \Shared\Department::WEBDEV;
   private const ADV = \Shared\Department::ADV;
 
 ... код только для контекста сотрудников ...
}

class \Project\Department extends Enum
{
   private const WEBDEV = \Shared\Department::WEBDEV;
   private const ADV = \Shared\Department::ADV;

 ... код только для контекста проектов ...
}
источник

RT

Roman Tsurkanu in Yii Framework 3
Лучше тогда наследование мне кажется)
источник

RT

Roman Tsurkanu in Yii Framework 3
хотя опять же я бы использовал енам как справочник, а все ограничения в других классах делал
источник

СП

Сергей Предводителев... 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
Это я в своей реализации енам так делаю)
источник

RT

Roman Tsurkanu in Yii Framework 3
ну ок, только лучше без статики
источник

AB

Alexander Borisov in Yii Framework 3
anton
Если там редирект поставить тогда и sent убрать нужно
Да. Flash сообщения бы туда
источник

RT

Roman Tsurkanu in Yii Framework 3
Сергей Предводителев
Это я в своей реализации енам так делаю)
class Department extends Enum
{
   private const
WEBDEV = \Shared\Department::WEBDEV;
   private const
ADV = \Shared\Department::ADV;

   
   private $aliases = [
       self::
WEBDEV => 'Веб-разработка',
       self::
ADV => 'Отдел рекламы'
   ];
   
   public function getAlias(): string
   {
       return $this->aliases[$this->value];
   }
}

Department::
WEBDEV()->getAlias();
источник

RT

Roman Tsurkanu in Yii Framework 3
вот так без статики лучше
источник

RT

Roman Tsurkanu in Yii Framework 3
объект сам все о себе знает
источник

RT

Roman Tsurkanu in Yii Framework 3
ну или (new Department(1))->getAlias();
источник

СП

Сергей Предводителев... in Yii Framework 3
А у меня тоже без статики, но с магией Department::get(1)->alias
источник

RT

Roman Tsurkanu in Yii Framework 3
а, понял
источник

СП

Сергей Предводителев... in Yii Framework 3
Department::WEBDEV() - вот так красиво, надо будет себе тоже такой вызов добавить)
источник

RT

Roman Tsurkanu in Yii Framework 3
да, читаемо получается
источник

T

TradersVE in Yii Framework 3
vue-tables2 with bulma.
источник

Д

Дмитрий in Yii Framework 3
TradersVE
vue-tables2 with bulma.
Admin area on vue?
источник

T

TradersVE in Yii Framework 3
Yes only gridview
источник

Д

Дмитрий in Yii Framework 3
Hmm. How it's integrated in the view ?
источник