如何创建类似于Auth :: routes()的路由

时间:2019-04-04 18:19:10

标签: laravel routing

我用路线创建了一个laravel软件包。我想做类似于Laravel身份验证支架Auth::routes()的操作,将它们注入到要包含它们的任何文件中(即api.phpweb.php)。

我当前正在使用

public function boot()
{
    ...
    $this->loadRoutesFrom(__DIR__.'/routes/api.php');
    ...
}

但是这使路由可以在任何地方使用,而我不希望这样。 我知道我应该使用Service Container,但这是我的第一个程序包,也是第一次创建自己的服务提供程序,因此我不太确定该怎么做,也找不到有关如何使用它们的文档。路线。

相反,我希望能够执行以下操作:

//routes/api.php
Route::group(['prefix'=>'v1', 'middleware:auth-api'], function(){
    Logging::routes(); //<-----
    ...
});

1 个答案:

答案 0 :(得分:1)

简单的解决方案,创建一个具有静态方法的类,该方法声明您的路线。

// your/package/Logging.php

class Logging
{
    public static method routes()
    {
        ...your routes...
    }
}

// routes/web.php

use Your/Package/Logging;

Logging::routes();