Я начал изучать laravel несколько дней go и столкнулся с новой дилеммой ie :) Мне нужно создать несколько массивов данных, которые позже будут переданы в представления.
Для пример:
$items = [
'dashboard' => [
'class' => 'icon fa fas fa-home',
'route' => 'admin.dashboard.index'
],
'pages' => [
'class' => 'icon fa far fa-file',
'route' => 'admin.pages.index',
'items' => [
'list' => [
'route' => 'admin.pages.index',
],
'create' => [
'route' => 'admin.pages.create',
],
'categories' => [
'route' => 'admin.pages.categories.index',
],
],
],
'posts' => [
'class' => 'icon fa fas fa-book',
'route' => 'admin.posts.index',
'items' => [
'list' => [
'route' => 'admin.posts.index',
],
'create' => [
'route' => 'admin.posts.create',
],
'categories' => [
'route' => 'admin.posts.categories.index',
],
],
],
'users' => [
'class' => 'icon fa fas fa-user-circle',
'route' => 'admin.users.index',
'items' => [
'list' => [
'route' => 'admin.users.index'
],
'create' => [
'route' => 'admin.users.create'
],
'roles' => [
'route' => 'admin.users.roles.index'
],
]
],
'appearance' => [
'class' => 'icon fa fas fa-columns',
'route' => 'admin.dashboard.index',
'items' => [
'menus' => [
'route' => 'admin.menus.index'
],
'widgets' => [
'route' => 'admin.dashboard.index'
],
'theme' => [
'route' => 'admin.dashboard.index'
],
]
],
'addons' => [
'class' => 'icon fa fas fa-plug',
'route' => 'admin.dashboard.index',
'items' => [
'modules' => [
'route' => 'admin.modules.index',
],
'widgets' => [
'route' => 'admin.dashboard.index',
],
'store' => [
'route' => 'admin.dashboard.index',
],
]
],
'settings' => [
'class' => 'icon fa fas fa-cogs',
'route' => 'admin.dashboard.index',
'items' => [
'general' => [
'route' => 'admin.dashboard.index',
],
'seo' => [
'route' => 'admin.dashboard.index',
],
'mail' => [
'route' => 'admin.dashboard.index',
],
'logs' => [
'route' => 'admin.settings.logs.index',
],
]
]
];
, который будет позже визуализирован в представлении боковой панели:
<ul class="sidebar-list">
@foreach($items as $name => $data)
<li class="sidebar-list-item">
<a href="{{ route($data['route']) }}">
<div class="{{ $data['class'] }}"></div>
{{ __('admin/menu-items.'.$name) }}
</a>
@if (!empty($data['items']))
<ul class="sidebar-sub-list">
@foreach($data['items'] as $item_name => $item_data)
<li class="sidebar-list-item"><a href="{{ route($item_data['route']) }}">{{ __('admin/menu-items.'.$name.'_items.'.$item_name) }}</a></li>
@endforeach
</ul>
@endif
</li>
@endforeach
</ul>
Вопрос в том, где было бы лучшее место для размещения подобных вещей, чтобы не испортить мои контроллеры , взгляды et c? Мне нужны эти данные в виде массива, так как я sh могу легко переопределить их с помощью esemve / hook Hooks. Я предполагаю, что составители представлений не очень хорошая идея, если я хочу использовать этот точный массив только в одном представлении?
Заранее спасибо:]