我不完全确定这是一个理解问题还是语法。 我正在尝试从同一父级下的其他子类访问子类。
class TopLevel {
foreach (glob("assets/php/*.php") as $filename) // will get all .php files within plugin directory
{
include $filename;
$temp = explode('/',$filename);
$class_name = str_replace('.php','',$temp[count($temp)-1]); // get the class name
$this->$class_name = new $class_name; // initiating all plugins
}
}
class A extends TopLevel {
$var = 'something';
public function output() {
return $this->var;
}
}
class B extends TopLevel {
// This is where I need help, CAN the child class A be accessed sideways from class B? Obviously they need to be loaded in correct order of dependency.
$this->A->output();
}
我不知道为什么这不起作用。结构不是很好,但它是一个单一的对象应用程序。
答案 0 :(得分:0)
答案是:不,孩子A级不能侧身访问。 A和B之间没有直接继承。
答案可能是使用类似于此问题答案中的函数将$ this-> A类型转换为类型B的对象:
答案 1 :(得分:0)
在B中创建A类的对象,然后调用A的方法,因为A,B之间没有父子关系。
$objOfA = new A();
$objOfA->output();