PHP多个子类,访问子类到类

时间:2015-02-17 23:30:06

标签: php class oop parent-child

我不完全确定这是一个理解问题还是语法。 我正在尝试从同一父级下的其他子类访问子类。

    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();
    }

我不知道为什么这不起作用。结构不是很好,但它是一个单一的对象应用程序。

2 个答案:

答案 0 :(得分:0)

答案是:不,孩子A级不能侧身访问。 A和B之间没有直接继承。

答案可能是使用类似于此问题答案中的函数将$ this-> A类型转换为类型B的对象:

How to Cast Objects in PHP

答案 1 :(得分:0)

在B中创建A类的对象,然后调用A的方法,因为A,B之间没有父子关系。

   $objOfA = new A();
   $objOfA->output();