Laravel 带接口的动态路由

Posted

技术标签:

【中文标题】Laravel 带接口的动态路由【英文标题】:Laravel dynamic routing with interface 【发布时间】:2018-04-12 19:37:45 【问题描述】:

我有一个应用程序需要不同的HomeController,具体取决于我使用的子域。例如,domain.mydomain.com/news 应该指向一个控制器,mydomain.com/news 应该指向另一个。

有什么方法可以在路由中使用接口,因为现在我收到一个错误,即我的接口不可实例化:

Route::controller('home', 'RouterInterface', [
    'getIndex' => 'home.index'
]);

即使这以某种方式奏效,我也不知道我什至会在哪里注入具体的类以便它提取足够的方法?

【问题讨论】:

【参考方案1】:

试试这个方法

Route::group(['domain' => 'domain.mydomain.com'], function()

    Route::any('/news', function()
    
        return 'My sub domain';
    );
);

Route::group(['domain' => 'mydomain.com'], function()

    Route::any('/news', function()
    
        return 'My main domain';
    );
);

【讨论】:

以上是关于Laravel 带接口的动态路由的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 路由动态路由控制器到刀片模板

带有动态前缀的 Laravel 动态路由

Laravel 8 的动态路由

有没有办法在 Laravel 4 中混合静态路由和动态路由?

用于搜索的Laravel动态路由

laravel 主域路由优先于动态子域