Где хранить свойства классов в 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

Удобно обращаться из контроллера и вьюхи, все работает, но есть сомнения относительно "правильности" такого решения - файлы конфига предназначены немного для другого. Подскажите, пожалуйста, каким образом нужно хранить данные свойства, при этом чтобы была возможность обращаться к ним, не создавая дополнительных объектов класса?


Ответы (0 шт):