我有一个PHP项目,我用PHP对象构建一种DOM。从父类'fs'开始,巫婆将网页中的每个对象都保存在一个结构中。 我希望对象可以通过父对象'system'发送彼此的消息。 'system'-object包含核心对象(config,database,template,users,...)的引用。我构建了一个方法,应该组织'子对象'的通信,其中参数的名称和被调用的方法是参数允许的。
看起来像......(应忽略调试消息......)
public static function doWith( $object, $function, $vars = "" ) {
$object = strtoupper($object);
if( is_object($this->$object) ) {
$this->$object->$function ($vars);
} else {
print("empty!");
}
}
但仍然如此,代码不想这样做。我的问题在哪里?不能通过$ this-> $ var-> $ method()?
调用方法感谢您的帮助......
答案 0 :(得分:0)
$this
如果您尝试访问的数据来自静态变量/函数,则可以使用self
来访问它:
self::$object
如果$object
不是静态成员,您必须使其成为静态成员,或者在使用之前创建class
的实例。