我有config.class文件越来越大了。 它有这样的结构:
class config
{
public $myConfig = 20;
....
public __construct() {
$this->set_config_topics();
....
}
private function set_config_topics() {
$this->bum='gg';
....
}
}
我想将该配置类拆分为多个配置文件(模块配置)。 我可以扩展课程,但我不想得到更好的链条。 我想要这样的东西:
class config
{
private config_files=array(
'config.topics.php',
'config.second.module.php',
...
);
public __construct() {
//require all config_files and attach them as class' variables
}
}
怎么做?
答案 0 :(得分:3)
如果您使用的是较新版本的PHP(5.4+),则可以使用traits。
trait ConfigTopics {
protected function set_config_topics() {
// ...
}
}
class config {
use ConfigTopics;
public __construct() {
$this->set_config_topics();
}
}
一些注意事项:
protected
而不是private
。这是因为private
方法只能从实际定义它们的类/特征中访问,但所有子类也可以使用protected
方法。