Yani, eğer böyle bir iç içe geçmiş sınıf yapmak için deneyin:
//nestedtest.php
class nestedTest{
function test(){
class E extends Exception{}
throw new E;
}
}
Sen bir hata alırsınız Fatal error: Class declarations may not be nested in [...]
ama sen gibi ayrı bir dosyada bir sınıf varsa:
//nestedtest2.php
class nestedTest2{
function test(){
include('e.php');
throw new E;
}
}
//e.php
class E Extends Exception{}
Peki, neden bunu yapmanın ikinci hacky yolu çalışır, ancak bunu yapmanın olmayan hacky yönlü çalışmıyor?