Warning: get_class() called without object from outside a class in Hatası Çözüm

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