- Katılım
- 2 Mar 2015
- Konular
- 59,185
- Mesajlar
- 88,382
- Online süresi
- 4ay 14g
- Reaksiyon Skoru
- 14,227
- Altın Konu
- 2,398
- Başarım Puanı
- 1,051
- TM Yaşı
- 11 Yıl 1 Ay 21 Gün
- MmoLira
- 694,336
- DevLira
- 234
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
PHP'deki "static" anahtar sözcüğü, bir PHP sınıfında statik özellikleri ve statik yöntemleri tanımlamak için kullanılır. Statik anahtar sözcüğünün ayrıca statik değişkenleri ve statik anonim işlevleri tanımlamak için de kullanıldığına dikkat edilmelidir. Bir PHP sınıfındaki statik özellikler hakkında bilgi edinmek için bu bölümü okuyun.
Bir sınıf tanımında, statik bir niteleyici ile bildirilen bir değişken onun statik özelliği haline gelir. Statik anahtar sözcüğü erişim değiştiricisinden önce veya sonra görünebilir.
static private $var1;
public static $var2;
Eğer tip ipuçlarını kullanmak istiyorsanız, tipin static anahtar sözcüğünden önce olmaması gerekir.
static private string $var1;
public static float $var2;
Bir sınıftaki statik özelliğin değeri, nesnesi tarafından (-> operatörüyle) erişilebilir değildir. Bunu yapmak, Accessing static property myclass::$var1 as non static bildirimiyle sonuçlanır. Bunun yerine, statik özelliklere "::" sembolüyle temsil edilen Kapsam Çözümleme Operatörü kullanılarak erişilir.
Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
class myclass {
static string $var1 = "My Class";
function __construct() {
echo "New object declared" . PHP_EOL;
}
}
$obj = new myclass;
echo "accessing static property with scope resolution operator: " . myclass::$var1 . PHP_EOL;
echo "accessing static property with -> operator: ". $obj->var1 . PHP_EOL;
?>
Aşağıdaki çıktıyı üretecektir:
New object declared
accessing static property with scope resolution operator: My Class
PHP Notice: Accessing static property myclass::$var1 as non static in hello.php on line 14
"Ben" Anahtar Kelimesi
Bir yöntemin içinden statik özelliğe erişmek için, geçerli sınıfa self anahtar sözcüğüyle başvurun. Aşağıdaki örnekte, sınıfın her yeni nesne bildirildiğinde artırılan bir tamsayı statik özelliği vardır.
PHP:
<?php
class myclass {
/* Member variables */
static int $var1 = 0;
function __construct(){
self::$var1++;
echo "object number ". self::$var1 . PHP_EOL;
}
}
for ($i=1; $i<=3; $i++) {
$obj = new myclass;
}
?>
Aşağıdaki çıktıyı üretecektir:
object number 1
object number 2
object number 3
"Ebeveyn" Anahtar Kelimesi
Bir temel sınıfın statik özelliği, miras alınan sınıfın bir fonksiyonu içinde base by parent anahtar sözcüğüne başvurularak kullanılabilir. "parent::static_property" sözdizimini kullanmanız gerekir.Örnek
Aşağıdaki örneğe bir göz atın:
PHP:
<?php
class myclass {
/* Member variables */
static int $var1 = 0;
function __construct() {
self::$var1++;
echo "object number ". self::$var1 . PHP_EOL;
}
}
class newclass extends myclass{
function getstatic() {
echo "Static property in parent class: " . parent::$var1 . PHP_EOL;
}
}
$obj = new newclass;
$obj->getstatic();
?>
Aşağıdaki çıktıyı üretecektir:
object number 1
Static property in parent class: 1

