首页 > 解决方案 > 目标类 [App\Repositories\User\UserRepository] ​​不存在

问题描述

我正在使用 laravel 并尝试将存储库集成到 laravel 中。点击此链接https://www.itsolutionstuff.com/post/laravel-5-repository-pattern-tutorial-from-scratchexample.html。

但得到以下问题。不知道代码有什么问题。试图找到一个解决方案,但没有得到任何特定的解决方案。

用户界面

namespace App\Repositories\User;


interface UserInterface {


    public function getAll();


    public function find($id);


    public function delete($id);
}

用户回购服务提供

use Illuminate\Support\ServiceProvider;


class UserRepoServiceProvide extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {

    }


    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('App\Repositories\User\UserInterface', 'App\Repositories\User\UserRepository');
    }

用户存储库

use App\Repositories\User\UserInterface as UserInterface;
use App\User;


class UserRepository implements UserInterface
{
    public $user;


    function __construct(User $user) {
        $this->user = $user;
    }


    public function getAll()
    {
        return $this->user->getAll();
    }


    public function find($id)
    {
        return $this->user->findUser($id);
    }


    public function delete($id)
    {
        return $this->user->deleteUser($id);
    }
}

用户模型

   public function getAll()
    {
        return static::all();
    }


    public function findUser($id)
    {
        return static::find($id);
    }


    public function deleteUser($id)
    {
        return static::find($id)->delete();
    }

用户控制器

namespace App\Http\Controllers\Web;

use App\Http\Controllers\Controller;
use App\Repositories\User\UserInterface as UserInterface;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function __construct(UserInterface $user)
    {
        $this->user = $user;
    }

    public function index()
    {

        $users = $this->user->getAll();
        return view('users.index',['users']);
    }

}

作曲家.json

    "autoload": {
    "psr-4": {
        "App\\": "app/",
        "App\\Repositories\\": "app/Repositories/"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},

但仍然遇到这个问题

在此处输入图像描述

请帮忙。

文件夹路径 在此处输入图像描述

标签: laravel

解决方案


在您的UserController中:删除

use App\Repositories\User\UserInterface as UserInterface;

并添加

use App\Repositories\User\UserRepository as UserInterface;

推荐阅读