【问题标题】:Defining custom namespaces on routes in laravel 5.6在 laravel 5.6 中的路由上定义自定义命名空间
【发布时间】:2018-10-07 20:07:27
【问题描述】:

所以考虑以下几点:

Route::middleware('web')
    ->namespace('App\Modules\Config\Controllers')
    ->group(function () {
        Route::get('config', ['as' => 'config.index',  'uses' => 'Config@index']);
        Route::put('config', ['as' => 'config.update', 'uses' => 'Config@update']);
        Route::patch('config', 'Config@update');
    });

当我到达这些路线时,它会爆炸,因为:

Class App\Http\Controllers\App\Modules\Config\Controllers\Config does not exist

在 laravel 5.6 中有没有办法说:不,我不想使用App\Http\Controllers 我想使用我指定的命名空间?

【问题讨论】:

    标签: php laravel-5 routing laravel-5.6


    【解决方案1】:

    用斜线试试

    ->namespace('\App\Modules\Config\Controllers')

    【讨论】:

    • @TheWebs 你试过了吗?我不是 laraval 用户,但如果 namespace() 方法考虑到当前命名空间,我的回答是有意义的。如果我错了很高兴删除。
    【解决方案2】:

    如果您查看RouteServiceProvider,您会发现存在属性

    protected $namespace = 'App\Http\Controllers';
    

    这是您的根命名空间,您可以更改它,例如:

    protected $namespace = 'App\Modules\Config\Controllers';
    

    或者直接在你的路由文件中为任何组擦除和设置命名空间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 2020-03-20
      • 1970-01-01
      • 2021-03-28
      • 2018-12-19
      • 1970-01-01
      相关资源
      最近更新 更多