【问题标题】:Laravel Route Group for Views用于视图的 Laravel 路由组
【发布时间】:2017-09-28 15:30:16
【问题描述】:

我的 Laravel /routes/web.php 中有以下配置:

Route::group(['prefix' => 'admin'], function(){
    Route::get('/', function() {
        return view('admin.login');
    });
});

如果你观察,我提到了view('admin.login') 这调用/resources/views/admin/login.blade.php。到目前为止,这很好。

但是对于这个 Route 组,我将在/resources/views/admin 中拥有我所有的观点。因此,我不想在每个视图名称之前使用admin

Route::group 级别是否有任何可能的参数,我可以通过它定义视图的命名空间,以便 Laravel 在 /resources/views/ 内的特定目录中搜​​索我的视图?

【问题讨论】:

    标签: php laravel laravel-5 laravel-routing laravel-views


    【解决方案1】:

    我遇到了同样的问题,并创建了一个可以正常工作的辅助函数...... 在app目录下添加了一个helpers目录app\Helpers\functions.php

    function adminView($file){
       return view('foo.' . $file);
    }
    

    在composer.json文件中注册了这个文件

    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        },
        "files": ["app/Helpers/functions.php"]
    },
    

    只需运行composer dump-autoload 即可使用此辅助函数

    【讨论】:

      【解决方案2】:

      你可以使用

      View::addNamespace('admin', '/path/to/admin/views');View::addLocation('/path/to/your/admin/views');

      在您的路由文件中指定您的管理视图文件夹。

      您可以使用第一种方法 return view('admin::view.name'); 和第二种方法可以直接使用视图名称,如return view('view.name');

      【讨论】:

        猜你喜欢
        • 2015-02-23
        • 2017-08-22
        • 2021-03-22
        • 1970-01-01
        • 2017-01-23
        • 2017-09-18
        • 2015-03-03
        • 1970-01-01
        • 2015-07-19
        相关资源
        最近更新 更多