B.php:PHP, класс внутри класса, ошибка?
class B
{
function show() { echo 'works'; }
}
A.php
class A
{
public static function defineB()
{
include "b.php";
}
}
A::defineB();
$b = new B;
var_dump($b);
объекта (Б) # 1 (0) {},
если без A :: defineB(); - Неустранимая ошибка: Class 'B' не найден, если класс определения без включения другого файла - Фатальная ошибка: объявления классов могут не быть вложенными,
это ошибка?
Это ошибка, но не в PHP. Вы не можете вставлять объявления классов, как указано в сообщении об ошибке. – JJJ
Возможный дубликат [разрешено создание класса php внутри другого класса] (http://stackoverflow.com/questions/1583140/is-it-allowed-to-create-a-php-class-inside-another- class) – JJJ
Какую версию PHP вы используете? Учитывая [этот вопрос] (http://stackoverflow.com/questions/2608432/php-nested-classes-work-sort-of), это должно работать, поскольку 'include()' включает классы в глобальное пространство имен. – CodeCaster