Adr*_*ian 0 php class inversion-of-control
关于我正在研究的项目使用的设计模式,我需要一些建议.假设我有很多类将使用依赖注入和IoC容器进行实例化.很多这些类将依赖于"环境"设置,例如依赖于服务器位置的memcached类,以及依赖于SQL主机详细信息的SQL类,但我不确定如何编写此依赖关系.
我可以将这些写入课堂,但它并不灵活.如果我让类使用全局变量,我觉得它们不再松散耦合,单元测试将更难完成.因此,如何保持松散的类耦合但是从中心位置维护这些设置?
如果服务器设置改变,我不想挖掘12个PHP脚本来更改每个设置.
理想情况下,我想:
干杯! 阿德里安
我不得不承认我是KISS的粉丝.根据你的写作,我会做以下事情:
创建一个包含变量的配置类:
class Configuration {
protected $sqlUser = "myUser";
protected $sqlPass = "myPass";
// ... and the remaining config variables
public function getSQLUser() {
return $this->sqlUser();
}
public function getSQLPass() {
return $this->sqlPass;
}
// ... and the remaining getters
}
Run Code Online (Sandbox Code Playgroud)
这使您可以完全控制将来如何继续进行配置.你可以通过改变这门课程,
我自己这样做.这足以满足我的需求,它避免了建筑摩天大楼.
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |