Je suis très nouveau dans le monde "Laravel", donc je peux me tromper dans les bases. J'essaye de configurer un projet avec le modèle de conception «Loosely Coupled». Je l'ai regardé dans des tutoriels suivants:Comment configurer le motif de conception "Loosely Coupled" dans "Laravel"
http://vegibit.com/laravel-repository-pattern/
http://heera.it/laravel-repository-pattern#.Vtaepfl97IU
et aussi examiné les sujets suivants de SO:
Laravel 5 - Interface is not instantiable
Laravel ReflectionException error : Repository doesn't exist
mais n'a pas eu le résultats.
Voici donc ma structure d'application:
-app
-Providers
IOCProvider
-Repositories
-Abstracts
IUserRepository
-Concrete
UserRepository
Voici "IUserRepository":
<?php
namespace App\Repositories\Abstracts;
interface IUserRepository {
public function getUserByID($ID);
}
Et UserRepository:
<?php
namespace App\Repositories\Concrete;
use App\Repositories\Abstracts;
use app\Model;
class UserRepository implements IUserRepository {
public function getUserByID($id){
$user= User::find(1);
return $user;
}
}
IOCProvider.php:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class IocProvider extends ServiceProvider {
public function register()
{
$this->app->bind('App\Repositories\Abstracts\IUserRepository', 'App\Repositories\Concrete\UserRepository');
}
}
Et composer.json:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"App\\Repositories\\Abstracts":"app/Repositories/Abstract",
"App\\Repositories\\Concrete":"app/Repositories/Concrete"
}
},
Maintenant, je reçois cette erreur:
ReflectionException in Container.php line 798:
Class App\Repositories\Abstracts\IUserRepository does not exist
S'il vous plaît me guider ce que je fais mal.
Votre aide serait grandement appréciée.
Merci.
Je pense que le couplage lâche est pas un modèle de conception. C'est un principe/une recommandation. –