(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.
nesneSınanan nesne.
Bilginize: PHP 7.2.0 ve sonrasında
nesne'yenullbelirtmeye artık izin verilmiyor veE_WARNINGseviyesinde bir uyarı çıktılanıyor. PHP 8.0.0 ve sonrasında isenesne'yenullbelirtilmesi 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. Fakatnullbelirtmek, birE_WARNINGuyarı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"