这是我正在制作的框架的当前系统:
__get
我根据请求创建一个对象以访问不存在的属性,该属性通过核心类中定义的函数具有现有类的名称。Core 类扩展了每个类。
所以它是这样工作的:
class Someclass extends Core
{
public function classmethod()
{
$this->otherclass->method();
}
}
这正是我希望它工作的方式。但是,我不知道(经过很多挫折之后)如何使用这个系统编辑/创建对象的属性。
所以这样的事情是行不通的。
$this->view->somevar = "newvalue"; // this doesn't work.
我想它必须与 __set 函数有关,但我没能找到。
我收到了以下如何解决这个问题的建议:
依赖注入、命名空间、单例模式。
我很想看看如何使用其中一种模式来实现我正在尝试做的事情。
我不知道选择哪个来解决我的简单问题:在其他类中使用对象,所以我不需要将任何东西放入 __construct 的参数或使用全局变量。
我在用__autoload.
我希望我能在你的帮助下解决这个问题。