构造函数依赖注入 laravel 5
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、none 的实例
据我所知,它看起来不错,我在这里错过了什么?
如果你想Laravel自动解析你的依赖你必须通过Service Container实例化class:
$zurmo = App::make('App\Classes\Api\Zurmo\Connector');
或使用app()
函数:
$zurmo = app('App\Classes\Api\Zurmo\Connector');
注意必须写出class
的完整路径
或者您可以让 Laravel 将连接器本身注入控制器。例如:
use App\Classes\Api\Zurmo\Connector as Zurmo;
// ...
public function __construct(Zurmo $zurmo){
$this->zurmo = $zurmo;
}
public function someAction(){
$this->zurmo->doMagic();
}
我已将 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、none 的实例
据我所知,它看起来不错,我在这里错过了什么?
如果你想Laravel自动解析你的依赖你必须通过Service Container实例化class:
$zurmo = App::make('App\Classes\Api\Zurmo\Connector');
或使用app()
函数:
$zurmo = app('App\Classes\Api\Zurmo\Connector');
注意必须写出class
的完整路径或者您可以让 Laravel 将连接器本身注入控制器。例如:
use App\Classes\Api\Zurmo\Connector as Zurmo;
// ...
public function __construct(Zurmo $zurmo){
$this->zurmo = $zurmo;
}
public function someAction(){
$this->zurmo->doMagic();
}