[英]How to setup “Loosely Coupled” design pattern in “Laravel”
我對“ Laravel”世界很陌生,因此在基本知識上我可能是錯的。
我正在嘗試使用“松散耦合”設計模式設置項目。 我研究了以下教程:
http://vegibit.com/laravel-repository-pattern/
http://heera.it/laravel-repository-pattern#.Vtaepfl97IU
並且還研究了SO的以下線程:
Laravel ReflectionException錯誤:存儲庫不存在
但無法得到結果。
所以這是我的應用程序結構:
-app
-Providers
IOCProvider
-Repositories
-Abstracts
IUserRepository
-Concrete
UserRepository
這是“ IUserRepository”:
<?php
namespace App\Repositories\Abstracts;
interface IUserRepository {
public function getUserByID($ID);
}
和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');
}
}
和composer.json:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"App\\Repositories\\Abstracts":"app/Repositories/Abstract",
"App\\Repositories\\Concrete":"app/Repositories/Concrete"
}
},
現在我收到此錯誤:
ReflectionException in Container.php line 798:
Class App\Repositories\Abstracts\IUserRepository does not exist
請指導我我在做什么錯。
您的幫助將不勝感激。
謝謝。
在您的UserRepository中,嘗試將其更改為: use App\\Repositories\\Abstracts
更改為: use App\\Repositories\\Abstracts\\IUserRepository
另外,當您不熟悉Laravel時,請訪問Laracasts.com。 沒有比該網站更好的laravel資源了。 這是對所有新來的laravel人的事實上的建議。 (例如,hre提供了很多免費的laravel視頻入門教程: https ://laracasts.com/series/laravel-5-from-scratch)
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.