我有一个小问题。我试图制作一个Laravel包,但它不会加载。每当我尝试在config / app.php中添加它的提供者时,我得到:
Error class 'Something\HttpRequest\HttpRequestServiceProvider' not found
目前它只有一个文件,位于" vendor / something / http-request / src / HttpRequestServiceProvider"。我怀疑与路径有关,但我不确定。
我已经尝试了
composer dump-autoload
但它没有被映射。
编辑:
我还将它发布到packagist并通过composer安装它,以便检查它是否有效(好吧,它没有:D)。
服务提供者存根看起来像这样:
<?php
namespace Something\HttpRequest;
use Illuminate\Support\ServiceProvider;
class HttpRequestServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
}
}
所以基本上它只是Laravel生成的一个。我怀疑这是问题的根源,但谁知道呢。
有什么想法吗?
答案 0 :(得分:1)
在任何地方双重检查名称空间。
不要忘记将课程添加到composer.jsom
,以便Laravel可以autoload
:
"autoload": {
"classmap": [
"database",
"app/custom"
],
"files": [
"app/someFolder/customHelpers.php"
]
执行此操作后运行composer dumpauto
。如果它不起作用,请尝试运行composer dumpauto -o
(带-o
标志),有时会有所帮助。
<强>更新强>
当您将软件包上传到packagist并使用composer进行调整时,您需要将autoload
部分添加到您的软件包composer.json
,例如:
"autoload": {
"psr-4": {
"YourName\\YourPackage\\": "src/"
}
}