Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP – Statik Özellikler

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
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
Ticaret - 0%
0   0   0

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!

2022103109353932080.jpg

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
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst