0
我刚刚开始使用laravel中的依赖注入。我尝试在我的一个路由中使用我新创建的控制器时遇到问题。在使用依赖注入的同时实例化控制器
这里是我的代码:
控制器:
class BuildQueueController extends BaseController {
protected $queue;
public function __construct(BuildQueueInterface $queue) {
$this->queue = $queue;
}
public function all() {
$ids = $this->queue->all();
return Response::json($ids);
}
public function add() {
$ids = Input::get('ids');
try {
foreach ($ids as $id) {
$this->queue->add($id);
}
} catch (Exception $ex) {
return Response::json(array("result" => "fail", "except" => $ex->getMessage()));
}
return Response::json(array("result" => "pass"));
}
}
控制器工作正常,我有没有问题,使用到控制器功能的路由时获取数据。
的问题是在下面的代码:
Route::get('/builder', function() {
$queueCont = new BuildQueueController();
$queue = $queueCont->all();
return View::make('builder');
});
我收到错误“传递给BuildQueueController参数1 :: __构造()必须是MyClass的实例,但没有给出”
我知道这是因为构造函数正在寻找我的接口的一个实例,但是为了使用我的控制器,我可以解决这个问题?
谢谢!非常有意义! – arrowill12 2014-09-26 15:32:41