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);
?>