Итак, если вы попытаетесь создать вложенный класс, подобный этому:
//nestedtest.php
class nestedTest{
function test(){
class E extends Exception{}
throw new E;
}
}
Вы получите ошибку Fatal error: Class declarations may not be nested in [...]
но если у вас есть класс в отдельном файле, например:
//nestedtest2.php
class nestedTest2{
function test(){
include('e.php');
throw new E;
}
}
//e.php
class E Extends Exception{}
Итак, почему второй хакерский способ это работает, а не хакерский способ это не работает?