所以我是Laravel的新人。 我想使用存储库模式,这里是我的问题:
这是我的界面:
namespace Repositories\User;
interface IUserRepository
{
public function getAllUsers();
}
这是我的课程:
namespace Repositories\User;
use models\User;
class UserRepository implements IUserRepository
{
public function getAllUsers()
{
return User::all();
}
}
这是我的控制器:
class UserController extends \BaseController {
protected $user;
public function __contruct(IUserRepository $user)
{
$this->user = $user;
}
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
$users = $this->user->getAllUsers();
return View::make('index');
}
}
我在boostrap \ start.php中注册
App::bind('Repositories\User\IUserRepository', 'Repositories\User\UserRepository');
我认为它可以顺利运行,但这是我得到的结果:(:
Call to a member function getAllUsers() on a non-object
$users = $this->user->getAllUsers();
为什么? :((感谢您的帮助!
答案 0 :(得分:0)
如果您感染该回购,请使用命名空间:
public function __contruct(Repositories\User\IUserRepository $user)
{
$this->user = $user;
}