在自定义的Laravel软件包中使用非命名空间作曲家软件包

时间:2018-08-07 19:58:18

标签: php laravel

我正在使用Wheniwork composer package进行Laravel自定义包开发。该软件包不使用任何名称空间。因此,我对如何在自定义Laravel软件包中使用它感到困惑?我不确定是否需要在服务提供商上使用require(),但这看起来并不干净。

这是我的自定义服务提供商所提供的:

public function register()
{
    $this->app->singleton('wheniwork', function () {
        return new Wheniwork();
    });
}

Laravel似乎没有检测到Wheniwork()类。如果我尝试像下面这样从程序包中的自定义dd()文件中web.php类,则显示找不到类。

Route::get('/contact', function () {
    var_dump(new Wheniwork());
});

这可能是由于我的定制Laravel软件包中的composer.json文件需要的composer软件包上没有名称空间。知道我做错了什么,或者做这件事的正确方法是什么?

Laravel composer.json文件:

"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/",
        "Vendor\\Author\\": "packages/vendor/wheniwork/src/"
    }
}

这是我自定义的Laravel软件包composer.json文件:

"autoload": {
    "psr-4": {
        "Vendor\\Wheniwork\\": "src"
    }
}

0 个答案:

没有答案