在laravel 4中使用Repository模式

时间:2014-08-19 18:56:47

标签: php laravel laravel-4

所以我是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();

为什么? :((感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您感染该回购,请使用命名空间:

public function __contruct(Repositories\User\IUserRepository $user)
{

    $this->user = $user;
}