This commit is contained in:
2025-08-07 18:06:55 +03:00
parent eeea57209e
commit d132832d28
34 changed files with 1231 additions and 286 deletions

View File

@@ -0,0 +1,57 @@
# Атрибут `FieldName`
Атрибут `FieldName` предназначен для явного указания имени поля в базе данных, к которому привязано соответствующее
свойство модели. Он помогает устранить расхождения между именами свойств в коде и физическими именами столбцов в базе
данных.
## Основное назначение
Атрибут используется для точной привязки полей модели данных к физическим столбцам базы данных. Это важно, когда имена
свойств отличаются от имен столбцов, либо когда имеется желание переопределить схему именования полей.
## Пример использования атрибута
Допустим, у вас есть модель данных, описывающая продукт, и вы хотите явно указать, что свойство `$ProductCode`
соответствует физическому полю `prod_code` в базе данных:
```php
use goodboyalex\php_db_components_pack\attributes\FieldName;
final class Product
{
#[FieldName('prod_code')]
private string $ProductCode;
// Остальные поля и геттеры/сеттеры...
}
```
В данном примере атрибут `#[FieldName]` применяется к полю `$ProductCode`, явно указывая, что оно связано с полем
`prod_code` в базе данных.
## Пространство имён
Атрибут объявлен в пространстве имён:
```php
namespace goodboyalex\php_db_components_pack\attributes;
```
## Версии и автор
- **Автор**: Александр Бабаев
- **Версия**: 1.0
- **Дата выпуска**: с версии 1.0
## Особенности
- **Применяется только к полям (properties)**
Атрибут используется исключительно для аннотирования полей классов, которые соответствуют столбцам базы данных.
## Когда использовать атрибут?
Атрибут `FieldName` хорошо подходит для ситуаций, когда физическое имя столбца отличается от имени свойства в коде.
Например, это часто встречается в проектах, где физическая схема базы данных унаследована от сторонних источников или
была разработана ранее с иными соглашениями по именованию.
[На главную](../../index.md)