【问题标题】:Laravel IoC Multiple Subclasses Bindings: how to make sure it'll be resolved correctlyLaravel IoC 多个子类绑定:如何确保正确解析
【发布时间】: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


    【解决方案1】:

    有人回答了这个问题here at Laravel.io 我发现它很有用,所以我在这里发布链接 -谢谢

    【讨论】:

      猜你喜欢
      • 2017-05-25
      • 2014-06-16
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 2011-12-29
      • 2013-06-09
      相关资源
      最近更新 更多