問題是我不知道如何綁定一個接口的多個實現。Laravel 4同時有多個實現的一個接口
例子:
// One interface
interface SmsInterface {
...
}
// First implementation using SmsCoin
class SmscoinAPI implements SmsInterface {
...
}
// Second implementation using Fortumo
class FortumoAPI implements SmsInterface {
...
}
//兩個控制器:
class SmsCoinController {
public function __construct(SmsInterface $sms) {
$this->sms = $sms
}
}
class FortumoController {
public function __construct(SmsInterface $sms) {
$this->sms = $sms
}
}
問:如何我可以執行FortumoApi結合SmsInterface爲FortumoController,並與實施SmsCoinApi爲SmsCoinController結合SmsInterface?
我正在使用ServiceProvider註冊綁定,我可以在那裏做到嗎?如果不是應該在哪裏綁定?
編輯:
我不能回答任何地方,看了很多書laravel,到處是說使用多種實現,但是無處展示瞭如何交換/切換的實現。
如果我有一個接口和兩個實現,如何在控制器中綁定和交換它們。我是否需要在該控制器構造函數方法中執行該操作?或在路由中檢查控制器的路由或在filters.php?或在服務提供商?以及如何在技術上正確地編寫該代碼?
我碰到這個問題。 – user991