mepihindeveloper/php-data-entities

Component for working with constant control mechanisms

v1.0.5 2022-01-10 10:40 UTC

This package is auto-updated.

Last update: 2024-04-14 13:03:03 UTC


README

release Packagist Version PHP Version Require license

build codecov

Компонент для работы с пользовательскими константами в PHP. Данный компонент помогает оперировать константами и их представлениями.

Например, в базу данных (БД) производится запись чего-го либо на английском языке. В то же время, пользователю отражается эта информация уже на русском языке.

Данный класс предназначен для статической информации, которую нет смысла хранить в БД (как описано в примере выше).

В пользовательских классах необходимо завести константы:

CONST JUNIOR = 'junior';
CONST MIDDLE = 'middle';
CONST SENIOR = 'senior';

Далее составляется карта соответствия:

protected static array $map = [
    self::JUNIOR => 'Начинающий',
    self::MIDDLE => 'Продвинутый',
    self::SENIOR => 'Эксперт',
];

Таким образом, можно обратиться как к самим константам класса (например, для сравнения), так и к методам класса для получения информации о них.

Структура

src/
--- interfaces/
--- Entity.php

В директории interfaces хранятся необходимые интерфейсы, которые необходимо имплементировать в при реализации собственного класса Entity.

Класс Entity реализует интерфейс EntityInterface для управления пользовательскими константами.

Доступные методы

Метод Аргументы Возвращаемые данные Исключения Описание
has(string $key) Ключ bool Проверяет наличие ключа в списке
getMap(string $key = '') Ключ array InvalidArgumentException Возвращает список или массив [key => value] по ключу
getMapValueByKey(string $key) Ключ mixed InvalidArgumentException Возвращает значение из списка по ключу
getConstants() array Возвращает список всех констант класса

Контакты

Вы можете связаться со мной в социальной сети ВКонтакте: ВКонтакте: Максим Епихин

Если удобно писать на почту, то можете воспользоваться этим адресом: mepihindeveloper@gmail.com

Мой канал на YouTube, который посвящен разработке веб и игровых проектов: YouTube: Максим Епихин

Поддержать меня можно переводом на Яндекс.Деньги: Денежный перевод