Open Source/plain-to-class/Расширенное использование/Стиль написания

Стиль написания

Постоянная проблема со стилем написания — например, в базе данных это snake_case, а в коде camelCase. И их постоянно нужно как-то трансформировать. Пакет позаботится об этом, вам просто нужно указать атрибут WritingStyle в свойстве:

class WritingStyleSnakeCaseDTO
{
#[WritingStyle(WritingStyle::STYLE_CAMEL_CASE, WritingStyle::STYLE_SNAKE_CASE)]
public string $contact_fio;
#[WritingStyle(WritingStyle::STYLE_CAMEL_CASE)]
public string $contact_email;
}
$data = [
'contactFio' => 'yzen.dev',
'contactEmail' => 'test@mail.com',
];
$model = ClassTransformer::transform(WritingStyleSnakeCaseDTO::class, $data);
var_dump($model);

Результат:

object(WritingStyleSnakeCaseDTO) (2) {
["contact_fio"]=> string(8) "yzen.dev"
["contact_email"]=> string(13) "test@mail.com"
}