Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel:将传递给视图的数据存储在何处?_Php_Laravel - Fatal编程技术网

Php Laravel:将传递给视图的数据存储在何处?

Php Laravel:将传递给视图的数据存储在何处?,php,laravel,Php,Laravel,几天前我开始学习拉威尔,遇到了一个新手迪莱玛:) 我需要创建几个数据数组,这些数组稍后将传递给视图 例如: $items = [ 'dashboard' => [ 'class' => 'icon fa fas fa-home', 'route' => 'admin.dashboard.index' ], 'pages' => [ 'class' =&g

几天前我开始学习拉威尔,遇到了一个新手迪莱玛:) 我需要创建几个数据数组,这些数组稍后将传递给视图

例如:

$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>
    @foreach($name=>$data形式的项目)
  • @如果(!empty($data['items']))
      @foreach($data['items']作为$item\u name=>$item\u数据)
    • @endforeach
    @恩迪夫
  • @endforeach
问题是,哪里是最好的地方来放置这样的东西,以免弄乱我的控制器、视图等?我需要数组形式的数据,因为我希望用钩子轻松覆盖它们。如果我只想在一个视图中使用精确的数组,我想视图生成器不是一个好主意


提前感谢:

在我看来,本地JSON文件似乎是最好的方式,但我需要分配从该数组中的控制器传递的一些变量,例如select inputIf的选项如果这不是只读的,则将其存储在数据库中,硬编码这似乎不是一个好选项本地JSON文件看起来是我的观点中最好的方式,但我需要分配一些从这个数组中的控制器传递来的变量,例如select inputIf的选项如果这不是只读的,那么将其存储在数据库中,硬编码这似乎不是一个好选项