3.2 KiB
Атрибут Check
Атрибут Check
предназначен для установки ограничений на добавляемые данные путём наложения проверок при внесении новой
записи в базу данных. Это даёт возможность заранее определить, какое условие должно соблюдаться для того, чтобы новая
запись была сохранена.
Основное назначение
Атрибут позволяет задать дополнительное правило (условие), которое будет проверяться всякий раз, когда создаётся новая запись в базе данных. Таким образом, можно гарантировать соблюдение бизнес-правил и повысить целостность данных.
Пример использования атрибута
Предположим, у вас есть модель данных, описывающая пользователей, и вы хотите убедиться, что каждое новое имя пользователя начинается с заглавной буквы:
use goodboyalex\php_db_components_pack\attributes\Check;
use goodboyalex\php_db_components_pack\attributes\FieldName;
use goodboyalex\php_db_components_pack\classes\ConditionBuilder;
final class User
{
#[Check(new ConditionBuilder()->WhereEqual('FUNC:SUBSTR(name, 1, 1)', 'FUNC:UPPER(SUBSTR(name, 1, 1))
')), FieldName('name')]
private string $Name;
private string $email;
//...
}
В данном примере атрибут #[Check]
применяется к полю name
, и любое новое значение поля проходит проверку на то,
что первая буква должна быть заглавной.
Пространство имён
Атрибут объявлен в пространстве имён:
namespace goodboyalex\php_db_components_pack\attributes;
Версии и автор
- Автор: Александр Бабаев
- Версия: 1.0
- Дата выпуска: с версии 1.0
Особенности
- Применяется только к полям (properties) Атрибут используется исключительно для аннотирования полей классов, которые соответствуют столбцам базы данных.
Когда использовать атрибут?
Атрибут Check
подходит для ситуаций, когда нужно обеспечить дополнительную защиту данных и ограничить ввод
некорректных значений. Например, вы можете потребовать, чтобы пароль состоял минимум из восьми символов, или
удостовериться, что введённый адрес электронной почты действительно валиден.