Где хранить свойства классов в Laravel?
Разрабатываю проект на Laravel, и заметил, что во многих местах используются свойства объектов и их названия (шаблоны, логирование, модели и др.), пришла идея сохранить свойства в некий массив, а далее опираясь на него выводить соответствующий шаблон. Пока поместил все это в конфигу, таким образом:
'fabric_fields' => [
[
'name' => 'Название',
'key' => 'name',
'field' => 'input',
'field_type' => 'text',
'field_required' => true,
],
[
'name' => 'Артикул',
'key' => 'vendor_code',
'field' => 'input',
'field_type' => 'text',
'field_required' => false,
],
]
А дальше в шаблонах вывожу следующим образом (это для понимания, зачем вообще мне такое нужно). Например, вот кусок формы редактирования объекта:
@foreach(config('items.fabric_fields') as $field)
<tr>
<td>{{ $field['name'] }}</td>
<td>
@if($field['field'] == 'input')
<input @if($field['field_required']) required @endif class="form-control" type="{{ $field['field_type'] }}" name="{{ $field['key'] }}" value="{{ $item->{$field['key']} ?? old($field['key']) }}">
@endif
</td>
</tr>
@endforeach
Удобно обращаться из контроллера и вьюхи, все работает, но есть сомнения относительно "правильности" такого решения - файлы конфига предназначены немного для другого. Подскажите, пожалуйста, каким образом нужно хранить данные свойства, при этом чтобы была возможность обращаться к ним, не создавая дополнительных объектов класса?