Я записал два класса в два разных файла, например, файл classA.php
и classB.php
, файл записан ниже.
файл classA.php
class a {
public function __construct() {
require_once('classB.php');
$classB = new b();
}
}
$classA = new a();
файл classB.php
class b {
public function __construct() {
echo "Hello World!";
}
}
И код работает нормально, а также выводит Hello World!
. Но , когда я пишу оба класса следующим образом:
class a {
public function __construct() {
class b {
public function __construct() {
echo "Hello World!";
}
}
$classB = new b();
}
}
$classA = new a();
Показывает ошибку
Неустранимая ошибка: объявления классов не могут быть вложенными
Что Я думаю, что они оба должны делать одно и то же, вчера я нашел что-то о "произвольных местах", но я не нашел правильного ответа, что это такое.
Я просто хочу знать, почему оба они показывают разный результат?или, может быть, что-то о include
или require
, чего я не знал?
ПРИМЕЧАНИЕ
Я не спрашиваю, в чем разница между require()
и include()
функциями