B.php:PHP, Klasse innerhalb der Klasse, Fehler?
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);
Objekt (B) # 1 (0) {},
wenn ohne A :: defineB(); - Fataler Fehler: Klasse 'B' nicht gefunden, wenn Klasse definieren, ohne eine andere Datei hinzuzufügen - Schwerwiegender Fehler: Klassendeklarationen dürfen nicht geschachtelt sein,
ist es ein Fehler?
Es ist ein Bug, aber nicht in PHP. Sie können Klassendeklarationen nicht verschachteln, wie die Fehlermeldung sagt. – JJJ
möglich Duplikat von [ist es erlaubt, eine PHP-Klasse innerhalb einer anderen Klasse zu erstellen] (http://stackoverflow.com/questions/1583140/is-it-allowed-to-create-a-php-class-inside-another- Klasse) – JJJ
Welche Version von PHP verwenden Sie? Bei [dieser Frage] (http://stackoverflow.com/questions/2608432/php-nested-classes-work-sort-of) sollte dies funktionieren, da 'include()' Klassen im globalen Namespace enthält. – CodeCaster