Ок, объясню ситуацию поэтапно на упрощенном примере, ибо может это действительно плохая затея.
Есть модель (в виде объекта класа MyModel), описывающая хтмл форму. Соответсвенно, свойства этой модели - это значения атрибутов
name в верстке формы, а значения этих свойств -
value из верстки:
1)
<form>
<input type="text" name="login">
<input type="text" name="age">
</form>
2) Описываю эту модель на сервере:
class MyModel {
public $login;
public $age;
}
3) И тут меня посещает мысль, хм...а ведь мне еще во многих местах пригодтся эти 2 слова: login и age (и для формирования хтмл-формы в пхп, и при описании моделей, и при валидации, и для дальнейшей передачи отвалидированной формы какому-то сервису, и еще где-то).
И прихожу к выводу, что очень правильно будет ключи модели, т.е. login и age, вынести в какие-то переменные, т.к. если мне понадобиться в дальнейшем заменить login на coolLogin - то я сделаю это всего в одном месте, вместо того, что бы поменять это в отрисовке формы, в описании модели и там и сям. Что я имею теперь:
$name = 'login';
$age = 'age';
<form>
<input type="text" name="<?=$name?>">
<input type="text" name="<?=$age?>">
</form>
class MyModel {
public {$login};
public {$age};
}
Описывать таким образом свойства в конструкторе (через $this->{$name} = '' или через геттер - не вариант!)
Может это всё вообще бадыльная затея, и правильно будет в сотни местах вручную прописывать login и age и если в какой-то момент их нужно будет поменять на другие название (например, внешний сервис, которому нужно передать эту форму теперь ожидает другие имена переменных в пост-массиве) - руками в эти ста местах менять названия на новые.
?