(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ınanan nesne.
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 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.3.0 |
get_class() işlevinin bağımsız değişken
belirtilmeksizin çağrılması artık bir E_DEPRECATED
ile sonuçlanıyor. Evvelce içinden çağrıldığı sınıfın ismini döndürürdü.
|
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"