20250807
This commit is contained in:
57
help/class_desc/attributes/FieldName.md
Normal file
57
help/class_desc/attributes/FieldName.md
Normal 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)
|
Reference in New Issue
Block a user