由于我的英语,标题会模糊不清。希望有人能改进它。
以下是:
我有一个抽象类Validator
。
目前,我有两个子类LoginValidator
和SignupValidator
,它们从Validator
延伸。
我有两项服务:LoginService
和SignupService
,他们也有相同的服务
function __construct(Validator $validator)
我写了两个ServiceProvider
来绑定Validator
。
LoginServiceProvider.php
$this->app->bind('Validators\Validator','Validators\LoginValidator');
SignupServiceProvider.php
$this->app->bind('Validators\Validator','Validators\SignupValidator');
因此,$validator
中的__construct(Validator $validator)
实际上始终已解析为SignupValidator
。 我知道原因。
我想知道是否有办法确保:
class LoginService {
//$validator will be LoginValidator
function __construct(Validator $validator){}
}
class SignupService {
//$validator will be SignupValidator
function __construct(Validator $validator){}
}
或
我错了,我应该做__construct(LoginValidator $validator)
?