Целевой класс [App \ Repositories \ User \ UserRepository] не существует - PullRequest
0 голосов
/ 01 мая 2020

Я использую laravel и пытаюсь интегрировать репозиторий в laravel. перейдите по этой ссылке https://www.itsolutionstuff.com/post/laravel-5-repository-pattern-tutorial-from-scratchexample.html.

, но получите следующую проблему. не знаю, что не так с кодом. попытаться найти решение, но не получить какого-либо конкретного решения.

UserInterface

namespace App\Repositories\User;


interface UserInterface {


    public function getAll();


    public function find($id);


    public function delete($id);
}

UserRepoServiceProvide

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');
    }

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();
    }

UserController

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']);
    }

}

composer. json

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

, но проблема по-прежнему возникает

enter image description here

Пожалуйста Справка.

путь к папке enter image description here

1 Ответ

0 голосов
/ 01 мая 2020

В вашем UserController : удалите

use App\Repositories\User\UserInterface as UserInterface;

и добавьте

use App\Repositories\User\UserRepository as UserInterface;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...