- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,439
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 6 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,092
- DevLira
- 234
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
7.0 sürümünün yayınlanması, birçok yeni özelliğin tanıtıldığı PHP dilinin evriminde önemli bir kilometre taşıdır. Anonymous sınıfının özelliği de PHP 7.0 sürümünde kullanılabilir hale getirildi.
"Anonim" teriminin de ima ettiği gibi, (programcı tarafından beyan edilmiş) bir adı olmayan bir sınıftır. Genel uygulama, tekrar tekrar kullanılabilmesi için belirli bir tanımlayıcı ile bir sınıf tanımlamaktır. Öte yandan, anonim sınıf yalnızca bir kerelik kullanım içindir.
$obj = new class() {
/* class body */
};
Bu sınıfın bir isme sahip olmaması dışında, özellikler ve yöntemler içerebilmesi anlamında normal bir adlandırılmış sınıfa benzer. İşlevselliği adlandırılmış bir sınıfın nesnesinden farklı değildir.
Özellikle sınıfın belgelenmesi gerekmediğinde ve sınıf yürütme sırasında yalnızca bir kez kullanıldığında, adlandırılmış bir sınıf yerine anonim bir sınıf kullanılabilir. Basit, tek seferlik nesnelerin oluşturulması gerektiğinde anonim sınıflar yararlıdır.
Örnek
Aşağıdaki kodda, anonim bir sınıf örneklendirilmiş ve $obj nesnesinde depolanmıştır. Sınıf, $obj nesnesiyle çağrılan addition() ve division() yöntemlerinin tanımlarını içerir.
PHP:
<?php
$obj = new class(10) {
private int $x;
function __construct($x) {
$this->x = $x;
}
public function addition($x) {
return $this->x+$x;
}
public function division($x) {
return $this->x/$x;
}
};
echo "Addition: " . $obj->addition(20) . PHP_EOL;
echo "Division: " . $obj->division(20) . PHP_EOL;
?>
Aşağıdaki çıktıyı üretecektir:
Addition: 30
Division: 0.5
Çocuk Sınıfı Olarak Anonim Sınıf
Anonim bir sınıf, normal bir sınıfın yapabileceği her şeyi yapabilir. Başka bir sınıfı genişletebilir, bir arayüzü uygulayabilir veya hatta bir özelliği kullanabilir.Örnek
Aşağıdaki örnekte, anonim sınıf, halihazırda mevcut olan bir üst sınıfı genişleten bir alt sınıftır.
PHP:
<?php
class myclass {
public function hello() {
echo "Hello World!" . PHP_EOL;
}
}
$obj = new class("Neena") extends myclass {
private string $nm;
function __construct($x) {
$this->nm = $x;
}
public function greeting() {
parent::hello();
echo "Welcome " . $this->nm . PHP_EOL;
}
};
$obj->greeting();
?>
Aşağıdaki çıktıyı üretecektir:
Hello World!
Welcome Neena
Örnek
Anonim sınıfın kullanıcı tanımlı bir adı olmamasına rağmen, PHP ona dahili bir ad atar ve bu ad, aşağıdaki gibi yerleşik get_class() fonksiyonuyla elde edilebilir:
PHP:
<?php
$obj = new class() {
function greeting() {
echo "Hello World" . PHP_EOL;
}
};
$obj->greeting();
echo "Name of class: " . get_class($obj);
?>
Aşağıdaki çıktıyı üretecektir:
Hello World
Name of class: class@anonymousC:\xampp\htdocs\hello.php:2$0
PHP ayrıştırıcısı dahili ismi rastgele atar.

