get_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_classBir nesnenin ait olduğu sınıfın ismini döndürür

Açıklama

get_class(object$nesne = ?): string

Belirtilen nesne nesnesinin ait olduğu sınıfın ismini döndürür.

Bağımsız Değişkenler

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'ye null belirtmeye artık izin verilmiyor ve E_WARNING seviyesinde bir uyarı çıktılanıyor. PHP 8.0.0 ve sonrasında ise nesne'ye null 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. Fakat null belirtmek, bir E_WARNING uyarısına sebep olur.

Dönen Değerler

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.

Hatalar/İstisnalar

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 Bilgisi

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.

Örnekler

Ö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"

Ayrıca Bakınız

  • get_called_class() - Çağrıldığı duruk yöntemin sınıf ismini döndürür
  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • gettype() - Bir değişkenin türünü döndürür
  • get_debug_type() - Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar
To Top