(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Bir nesnenin ait olduğu sınıfın ismini döndürür
Belirtilen nesne
nesnesinin ait olduğu sınıfın ismini döndürür.
nesne
Sınanacak nesne Bir sınıfın içindeyken bu bağımsız değişken atlanabilir.
Bilginize: PHP 7.2.0 ve sonrasında
nesne
'yenull
belirtmeye artık izin verilmiyor veE_WARNING
seviyesinde bir uyarı çıktılanıyor. PHP 8.0.0 ve sonrasında isenesne
'yenull
belirtilmesi durumunda TypeError istisnası oluşuyor. Bağımsız değişken hala seçimlik olup işlev bir sınıfın içinden çağrıldığında bağımsız değişkeni belirtmek gerekmez. Fakatnull
belirtmek, birE_WARNING
uyarısına sebep olur.
Belirtilen nesne
nesnesinin örneği olduğu sınıfın ismini bir dizge olarak döndürür.
nesne
bir sınıfın içinde kullanılmazsa, sınıfın ismi döner.
nesne
bir isim alanında mevcut bir sınıfın örneği ise, sınıfın nitelikli isim alanı adı döner.
get_class() bir nesneden farklı bir şey ile çağrılırsa TypeError istisnası oluşur. PHP 8.0.0 öncesinde E_WARNING
seviyesinde bir hata oluşuyordu.
get_class() sınıf dışından bağımsız değişken belirtmeden çağrılırsa Error istisnası oluşur. PHP 8.0.0 öncesinde E_WARNING
seviyesinde bir hata oluşuyordu.
Sürüm: | Açıklama |
---|---|
8.0.0 | Bu işlevin bir sınıf dışından bağımsız değişkensiz çağrılması Error istisnası yavrulanmasına sebep olur. Evvelce, E_WARNING seyiyesinde bir uyarı ile işlev false döndürürdü. |
7.2.0 | Bu sürümden önce nesne için öntanımlı değer null idi ve bir değer belirtmemekle aynı etkiye sahipti. Artık null öntanımlı değer değildir ve geçerli girdi olarak bile kabul edilmez. |
5.0.0'dan itibaren | İşlev nesnenin bir yönteminden çağrılırsa nesne bağımsız değişkeninin belirtilmesi isteğe bağlıdır. |
Örnek 1 - get_class() örneği
<?php
class foo {
function ismin_ne()
{
echo "İsmim " , get_class($this) , "\n";
}
}
// Bir nesne oluşturalım
$bar = new foo();
// dışardan çağrı
echo "İsmi " , get_class($bar) , "\n";
// içerden çağrı
$bar->ismin_ne();
?>
Yukarıdaki örneğin çıktısı:
İsmi foo İsmim foo
Örnek 2 - Alt sınıftan get_class() çağrısı
<?php
abstract class bar {
public function __construct()
{
var_dump(get_class($this));
var_dump(get_class());
}
}
class foo extends bar {
}
new foo;
?>
Yukarıdaki örneğin çıktısı:
string(3) "foo" string(3) "bar"
Örnek 3 - İsim alanlı sınıflarla get_class() kullanımı
<?php
namespace Foo\Bar;
class Baz {
public function __construct()
{
}
}
$baz = new \Foo\Bar\Baz;
var_dump(get_class($baz));
?>
Yukarıdaki örneğin çıktısı:
string(11) "Foo\Bar\Baz"