在查看一些PHP代码时,我发现了一件奇怪的事情.以下是它的简单示例说明:
文件A.php:
<?php
class A{
public function methodA(){
echo $this->B;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
文件B.php:
<?php
class B extends A{
public $B = "It's working!";
}
?>
Run Code Online (Sandbox Code Playgroud)
文件test.php:
<?php
require_once("A.php");
require_once("B.php");
$b = new B();
$b->methodA();
?>
Run Code Online (Sandbox Code Playgroud)
运行test.php打印出"它正在工作!",但问题是它为什么有效?:)这是一个功能还是一个bug?类A中的方法方法A也可以调用B类中不应该在OOP中工作的方法.