我会尽我所能地解释我的情况。设计,重复代码 - 需要一些建议
我正在构建一个框架。它的系统包含以下目录:
1)核心 - 路径,主类(自动加载,CONFIGS,常量),请求
2)助手
3)库
在index.php文件,我将所有最重要的配置变量,如基础url或索引文件。我把它们放在“主类”里面。
这些属性是私有的,因为我不希望任何人在请求流中更改它们。
因此,访问这些变量的唯一要点是来自“主类”方法。
现在,其中一个私有变量是$_base_url
。
我希望用户能够从一些更好的地方访问base_url,但是像URL类(在帮助程序目录内)。
要做到这一点,我要创建两个方法 - “主类”,并get_base_url()URL类的内内get_base_url(),它会做这样的事情:
class Url {
public static function get_base_url() {
return Main_Class::get_base_url();
}
}
我的问题是 - 我有几个这样的变量,我想从不同的类调用。
我会有很多重复的代码。
我看到的唯一解决方案就是直接在不同的类中设置这些变量,但我想让它们集中在主类中。
我该如何处理?
呃,继承vs变量集中的类......在我的情况下,其中一个比另一个更好,还是我应该抛硬币? :P – user2203484
这实际上取决于你想要做什么。继承将允许您为每个实例拥有不同的值。集中变量类将确保无论访问变量的对象是什么,它都只有一个值。 – Ares
@ user2203484我已经更新了我的答案,以进一步解释这一点。 – Ares