Php 如何修复在使用存储库时找不到的服务提供程序类?
我不熟悉laravel中的存储库,并尝试使用它,但当我运行应用程序时,它会抛出错误 未找到类“App\Repositories\User\UserRepoServiceProvider” 我的界面和存储库文件位于服务提供商所在的App\Repositories\User中 这是我的服务提供商Php 如何修复在使用存储库时找不到的服务提供程序类?,php,laravel,Php,Laravel,我不熟悉laravel中的存储库,并尝试使用它,但当我运行应用程序时,它会抛出错误 未找到类“App\Repositories\User\UserRepoServiceProvider” 我的界面和存储库文件位于服务提供商所在的App\Repositories\User中 这是我的服务提供商 namespace App\Repositories\User use Illuminate\Support\ServiceProvider; class UserRepoServiceProvider
namespace App\Repositories\User
use Illuminate\Support\ServiceProvider;
class UserRepoServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind('App\Repositories\User\userinterface','App\Repositories \User\userrepository');
}
}
这是我的userrepository.php
namespace App\Repositories\User
use App\Repositories\User\userinterface;
use App\car;
class userrepository implements userinterface
{
public function __construct(car $car){
$this->car = $car;
}
public function get($id)
{
return $this->car->findCar($id);
}
public function delete($id)
{
return $this->car->deleteCar($id);
}
}
这是我的界面userinterface.php
namespace App\Repositories\User;
interface userinterface{
public function get($id);
public function delete($id);
}
我还在config/app.php文件中注册了它
App\Repositories\User\UserRepoServiceProvider::class
我做了作曲家转储自动加载-o,但没有用。我无法执行composer更新,当我执行此操作时,会抛出相同的错误您必须在config/app.php中注册服务提供商。
我通常在bootstrap/cache/config.php中检查包,有时在composer删除包的名称后,包仍然列在那里我面临的问题是找不到“App\Respositories\BackendServiceProvider”类 这是由于config/app.php文件中的拼写错误造成的。我将Respositories更改为Repositories并打开这个BackendServiceProvider,还更改了名称空间。所以问题解决了
Respositories to Repositories
namespace App\Respositories to namespace App\Repositories;
我已经注册了它,很可能是名称空间和自动加载的问题。是否检查了composer.json中的目录结构和自动加载配置?请尝试删除缓存文件<代码>rm引导/cache/*。然后再次运行composer install。我可以知道它对应用程序做了哪些更改吗?当然,首先要查看该目录,以查看您将删除哪些文件。这些是可能有过期内容的缓存版本。另外,它实际上不会改变你的应用程序行为。它们将在需要时自动重新生成。如果有疑问,请先备份文件。没有用,还是一样的