Есть класс, который занимается вставкой значений в поля некого шаблона. Названия полей лежат в константах. Из-за специфики области имена констант имеют большую длину (50+ символов) типа:
public const DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_NAME = "...";
public const DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_PRICE = "...";
public const DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_MODEL = "...";
// ...
$this->fillEntityField($detail, self::DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_NAME, $name);
$this->fillEntityField($detail, self::DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_PRICE, $price);
$this->fillEntityField($detail, self::DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_MODEL, $model);
Из-за этого строка, в которой используется название поля, выглядит очень длинной и код в целом читается сложнее.
Как можно было бы этого избежать?
Мне пришло в голову вынести такие константы в отдельный массив с ключами - короткими значениями. Это хороший вариант или так не стоит делать?
public const DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_NAME = "...";
public const DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_PRICE = "...";
public const DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_MODEL = "...";
// ...
$fields = [
"name" => self::DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_NAME,
"price" => self::DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_PRICE,
"model" => self::DOCUMENT_CARS_SERVICE_SOME_LEVELS_OF_LOGIC_HIERARCHY_ROVER_CC_MODEL,
];
$this->fillEntityField($detail, $fields['name'], $name);
$this->fillEntityField($detail, $fields['price'], $price);
$this->fillEntityField($detail, $fields['model'], $model);