【发布时间】:2016-03-28 18:53:20
【问题描述】:
我有一个类,我试图用依赖注入替换 Crypt::encrypt 的外观用法:
<?php namespace App\Libraries;
use Illuminate\Encryption\Encrypter;
class MyClass
{
public function __construct(Encrypter $encrypter)
{
$this->encrypter= $encrypter;
}
public function myMethod()
{
$this->encrypter->crypt('somevalue');
}
}
错误的实例正在被实例化:
传递给 App\Libraries\MyClass::__construct() 的参数 1 必须是 Illuminate\Encryption\Encrypter 的实例, 给定的 Illuminate\Encryption\McryptEncrypter
外观解决没有问题,但我想了解 DI 失败的原因。
use Illuminate\Support\Facades\Crypt;
Crypt::encrypt('somevalue');
任何帮助表示赞赏。
【问题讨论】:
标签: php laravel dependency-injection namespaces laravel-5.1