Kendi sorunuzu cevaplamışsınız gibi görünüyor. get_classsize sınıf adını verecektir. Prosedüreldir ve belki de kafa karışıklığına neden olan budur. Php belgelerine bir göz atınget_class
İşte örnekleri:
<?php
class foo
{
function name()
{
echo "My name is " , get_class($this) , "\n";
}
}
$bar = new foo();
echo "Its name is " , get_class($bar) , "\n";
$bar->name();
Örneğinize daha çok benzemek için aşağıdaki gibi bir şey yapabilirsiniz:
<?php
class MyClass
{
public static function getClass()
{
return get_class();
}
}
Şimdi şunları yapabilirsiniz:
$className = MyClass::getClass();
Bununla birlikte, bu biraz sınırlıdır, çünkü sınıfım uzatılırsa yine de 'Sınıfım' döndürür. Biz kullanabilirsiniz get_called_classdayanır, hangi yerine Bağlama Geç Statik , nispeten yeni bir özellik ve PHP> = 5.3 gerektirir.
<?php
class MyClass
{
public static function getClass()
{
return get_called_class();
}
public static function getDefiningClass()
{
return get_class();
}
}
class MyExtendedClass extends MyClass {}
$className = MyClass::getClass();
$className = MyExtendedClass::getClass();
$className = MyExtendedClass::getDefiningClass();