2025-08-07 18:06:55 +03:00

3.7 KiB
Raw Permalink Blame History

Атрибут IgnoredInDB

Атрибут IgnoredInDB предназначен для указания, что определенное свойство модели данных должно игнорироваться при выполнении определенных операций с базой данных. Это позволяет исключить поля из операций вставки, обновления, чтения и других действий, что может быть полезно для оптимизации производительности или соблюдения особых правил доступа к данным.

Основное назначение

Атрибут используется для того, чтобы обозначить, какие операции с базой данных не должны затрагивать конкретное поле модели. Например, вы можете захотеть исключить временную отметку создания записи из операций обновления, так как она должна оставаться постоянной.

Пример использования атрибута

Допустим, у вас есть модель данных, описывающая заказ, и вы хотите, чтобы поле с временной отметкой создания заказа не обновлялось после первого внесения:

use goodboyalex\php_db_components_pack\attributes\IgnoredInDB;
use goodboyalex\php_db_components_pack\enums\DBOperation;

final class Order
{
    #[IgnoredInDB(DBOperation::Update)]
    private DateTimeImmutable $CreatedAt;

    // Остальные поля и геттеры/сеттеры...
}

В данном примере атрибут #[IgnoredInDB] применяется к полю $CreatedAt, явно указывая, что оно должно игнорироваться при операции обновления.

ВАЖНО! Если атрибут задан, но не заданы операции:

use goodboyalex\php_db_components_pack\attributes\IgnoredInDB;
use goodboyalex\php_db_components_pack\enums\DBOperation;

final class Order
{
    #[IgnoredInDB]
    private DateTimeImmutable $CreatedAt;

    // Остальные поля и геттеры/сеттеры...
}

В этом случае атрибут будет проигнорирован во ВСЕХ операциях.

Пространство имён

Атрибут объявлен в пространстве имён:

namespace goodboyalex\php_db_components_pack\attributes;

Версии и автор

  • Автор: Александр Бабаев
  • Версия: 1.0
  • Дата выпуска: с версии 1.0

Особенности

  • Применяется только к полям (properties) Атрибут используется исключительно для аннотирования полей классов, которые соответствуют столбцам базы данных.

Когда использовать атрибут?

Атрибут IgnoredInDB полезен, когда необходимо исключить поле из некоторых операций с базой данных. Например, это может потребоваться для защиты временных отметок, исключения виртуальных полей или улучшения производительности запросов.

На главную