Я когда писал эти классы и скрипты пытался найти готовые решения, чтоб велик не изобретать - фига-то, - пришлось изобретать. Попадался бред той или иной степени тяжести. Ну вот, у вас я вижу такой кусок кода
$RIA_number = array(
'simpleInGr' => '1',
'pTxt' => $locale['search103'],
'pClass' => 'text-muted',
'inputName' => 'on_number',
'divClass' => 'input-group',
'spanTitle' => $locale['search104'],
'inputClass' => 'form-control text-center',
'value' => '',
'maxlength' => '20',
'placeholder' => $locale['search105'],
'js' => "onClick=\"clearInput(this, 'input-group', '');\" onKeyup=\"RikkiValidation(this, numberSet);\"",
'readonly' => ''
);
Который стопудово не принадлежит только типу number, а значит можно сделать базовый класс и наследоваться с него всем остальным кто разделяет эти опции.
Откуда у вас это? С такого массива элементарно отрендерить input. Правда всяких опций по рендеру многовато, так не делается, ну это не важно. Если не рендерить поля, то можно передать объект как таковой, через json, например:
<script><?php echo json_decode($RIA_number);?></script>
Добавить туда еще паттерн и в скрипте сразу будет лежать база с которой можно взять и отрендерить форму, чтобы сервер не напрягать, поскольку он все равно json отдал.
Да, как наследоваться. В рамках массивов - через слияние:
$_common = array(
'pClass' => 'text-muted',
'divClass' => 'input-group',
'inputClass' => 'form-control text-center',
'value' => '',
'maxlength' => '20',
'readonly' => ''
);
$RIA_number = array_merge($_common, array(
'simpleInGr' => '1',
'pTxt' => $locale['search103'],
'inputName' => 'on_number',
'spanTitle' => $locale['search104'],
'placeholder' => $locale['search105'],
)
);