构造函数依赖注入laravel 5

时间:2015-05-01 14:09:03

标签: php constructor dependency-injection laravel-5

我已将我的laravel应用程序从4.2升级到5,并且在尝试注入依赖项时出现以下错误:

<?php namespace App\Classes\Api\Zurmo;

  use App\Classes\Api\Rest\ApiRestHelper;

  class Connector implements ConnectorInterface {

  public function __construct(ApiRestHelper $rest)
  {
     ...

传递给App \ Classes \ Api \ Zurmo \ Connector :: __ construct()的参数1必须是App \ Classes \ Api \ Rest \ ApiRestHelper的实例,没有给出

据我所知,它看起来不错,我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

如果您希望Laravel自动解决您的依赖关系,您必须通过Service Container实现该类:

$zurmo = App::make('App\Classes\Api\Zurmo\Connector');

或使用app()功能:

$zurmo = app('App\Classes\Api\Zurmo\Connector');

注意 您必须写出课程的完整路径

或者你可以让Laravel在控制器中注入连接器本身。例如:

use App\Classes\Api\Zurmo\Connector as Zurmo;

// ...

public function __construct(Zurmo $zurmo){
    $this->zurmo = $zurmo;
}

public function someAction(){
    $this->zurmo->doMagic();
}