BonBonSlick
@BonBonSlick
Web Developer Trainee

Константы для статусов и типов данных с при клиент — сервер архитектуре?

public const TYPES
        = [
            self::TYPE_TV_SERIES,
            self::TYPE_FEATURE_FILM,
            self::TYPE_SHORT_FILM,
        ];
    public const TYPES_STR_CONST
        = [
            self::TYPE_TV_SERIES    => 'TYPE_TV_SERIES',
            self::TYPE_FEATURE_FILM => 'TYPE_FEATURE_FILM',
            self::TYPE_SHORT_FILM   => 'TYPE_SHORT_FILM',
        ];


Какой подход бы вы выбрали и почему?

Лично отдаю предпочтения выдавать на фронт строку константу и приминимать строку, конвертировать в int и работать с интом, в БД хранить инт. Пускай это и добавляет сложностей в виде "что и когда использовать", то есть строки только для для работы с клиентской частью, но кто-то может использовать константу не по назначению.

public function typeStrConst(): string {
        return EpisodeType::TYPES_STR_CONST[$this->type->value()];
    }
...

        <attribute name="typeStrConst" serialized-name="type">
            <group>non_sensitive_data</group>
            <group>public.info</group>
        </attribute>
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ответы на вопрос 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
В данном конкретном случае это не константы, а отдельный справочник, которому не место в коде от слова совсем
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы