合并路由::组域Laravel 5

合并路由::组域Laravel 5,laravel,laravel-5,laravel-5.3,Laravel,Laravel 5,Laravel 5.3,我的项目每周只需要为API创建新镜像域。 为此,我在路由文件中为每个域添加一个route::group Route::group(['domain' => 'domain2.com'], function(){ Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() { Route::get('/{hash}', 'ApiController@index'); });

我的项目每周只需要为API创建新镜像域。
为此,我在路由文件中为每个域添加一个
route::group

Route::group(['domain' => 'domain2.com'], function(){
    Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
        Route::get('/{hash}', 'ApiController@index');
    });
    Route::get('/', function(){
        return view('errors.noshort');
    });
});

Route::group(['domain' => 'domain1.com'], function(){
    Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
        Route::get('/{hash}', 'ApiController@index');
    });
    Route::get('/', function(){
        return view('errors.noshort');
    });
});
  • 如何合并这两个
    Route::group
    和下一个
  • 我可以从数据库中获取所有域来动态执行路由吗

  • 1链接您的域,如下所示:

    $apiRoutes = function() {
        Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
            Route::get('/{hash}', 'ApiController@index');
        });
        Route::get('/', function(){
            return view('errors.noshort');
        });
    };
    
    Route::group(['domain' => 'domain2.com'], $apiRoutes);
    Route::group(['domain' => 'domain1.com'], $apiRoutes);
    

    2很难理解导入域是什么意思

    1将域链接如下:

    $apiRoutes = function() {
        Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
            Route::get('/{hash}', 'ApiController@index');
        });
        Route::get('/', function(){
            return view('errors.noshort');
        });
    };
    
    Route::group(['domain' => 'domain2.com'], $apiRoutes);
    Route::group(['domain' => 'domain1.com'], $apiRoutes);
    

    2很难理解您直接导入域的意思

    您无法将数组分配给
    。它只需要单个字符串参数

    你可以这样做。要分配
    Route::group
    存储在数据库中,请将其提取到
    Route
    文件中

    试试这个,希望对你有帮助

    $domains = \App\Domain::all();
    
    foreach ($domains as $domain) {
        Route::group(['domain' => $domain->domainName], function(){
            Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
            Route::get('/{hash}', 'ApiController@index');
            });
            Route::get('/', function(){
            return view('errors.noshort');
            });
        });
    }
    

    不能直接将数组分配给
    。它只需要单个字符串参数

    你可以这样做。要分配
    Route::group
    存储在数据库中,请将其提取到
    Route
    文件中

    试试这个,希望对你有帮助

    $domains = \App\Domain::all();
    
    foreach ($domains as $domain) {
        Route::group(['domain' => $domain->domainName], function(){
            Route::group(['namespace' => 'Api', 'prefix' => 'r'], function() {
            Route::get('/{hash}', 'ApiController@index');
            });
            Route::get('/', function(){
            return view('errors.noshort');
            });
        });
    }