我的整个项目基本上分为两部分:
- 核
- 助手类
用户创建他的自定义类并使用其中的帮助类中的方法,例如:
\Project\System\Helpers\Class::foo();
所以每个帮助类中的每个公共方法都被声明为静态的。我想出了一个想法来改变这一点,让所有用户自定义类继承一个特殊的类:
class SingleBeingInheritedClass {
public function helper($class)
{
return new \Project\System\Helpers\$class; // it's just to show the idea
}
}
这样用户就可以编写:
$this->helper('class')->foo();
问题是我在几个核心类中使用了其中一些辅助类。而且我不希望核心类继承与助手相关的任何内容。
在这些核心类中,我也不想让代码更长,并使用这些帮助器在每个方法中初始化对象。
我该如何处理?或者也许静态方法在这里还不错?