Hata Örneği
<?php class sinif{ public static function OrnekAl(){ return null; } } class test extends sinif{} echo get_class(test::OrnekAl()); ?>
get_class ile bir sınıf ismi döndürmek istedik. Fakat dönen test::OrnekAl() sonucu bir fonksiyon içindeki null‘dü. Düzeltmek için aşağıdaki yöntemler kullanılabilir.
1.Ana ismi almak için fonksiyon sonucunu static sınıfa çevirmek
<?php class sinif{ public static function OrnekAl(){ return new static; } } class test extends sinif{} echo get_class(test::OrnekAl()); ?>
2.Ana ismi almak için fonksiyon ismini kaldırmak
<?php class sinif{ public static function OrnekAl(){ return null; } } class test extends sinif{} echo get_class(new test); ?>
3.Alt ismi almak için sınıfı döndürmek
<?php class sinif{ public static function OrnekAl(){ return new sinif; } } class test extends sinif{} echo get_class(test::OrnekAl()); ?>
4.Alt ismi almak için direk sınıfı çağırmak
<?php class sinif{ public static function OrnekAl(){ return null; } } class test extends sinif{} echo get_class(new sinif); ?>