【发布时间】:2014-02-11 07:11:32
【问题描述】:
由于我的英语,标题会很模糊。希望有人可以改进它。
事情是这样的:
我有一个抽象类Validator。
目前,我有两个子类,LoginValidator 和 SignupValidator,它们从 Validator 扩展而来。
我有两个服务:LoginService 和 SignupService,它们有相同的
function __construct(Validator $validator)
我写了两个ServiceProviders来绑定Validator。
LoginServiceProvider.php
$this->app->bind('Validators\Validator','Validators\LoginValidator');
SignupServiceProvider.php
$this->app->bind('Validators\Validator','Validators\SignupValidator');
因此,__construct(Validator $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)?
【问题讨论】:
标签: php laravel-4 inversion-of-control ioc-container