CodeBlanks Logo Icon CodeBlanks

public erişim

PHP kursu · Orta seviye · Ders 24/115

public property ve methodların her yerden erişilebilir olduğunu öğrenirsin.

public erişim niteleyicisi

Bir sınıfın property'sini (özellik) veya method'unu public yaparsan, ona her yerden erişilir: sınıfın içinden, alt sınıflardan ve sınıf dışından. public, en geniş görünürlüktür (access modifier).

PHP 8.3'te bir property'yi public string $name biçiminde tanımlarsın. Dışarıdan $obj->name ile okur ya da yazarsın. Eski PHP 4 tarzı var $name de hâlâ public kabul edilir; ama modern kodda açıkça public yazmak önerilir.

Bir method da public function getName() biçiminde tanımlanırsa dışarıdan çağrılabilir. Bu, sınıfın dışarıya açtığı arayüzdür.

public property ve method kullanımı

Bir public property doğrudan okunup yazılabilir. Örneğin bir User sınıfında public string $name tanımlarsan; $user = new User() dedikten sonra $user->name = "Ayşe" ile değer verebilir, echo $user->name ile okuyabilirsin.

Benzer şekilde public function greet() tanımlarsan, $user->greet() ile dışarıdan çağırabilirsin.

Ancak dikkat: public property'ler doğrudan değiştirilebildiği için iç tutarlılık gerektiren verilerde daha sıkı görünürlük kullanmak daha güvenlidir. Bunu sonraki derslerde göreceğiz.

Uygulama public property ile User sınıfı

Bir User sınıfı tanımla. İki public property olsun: $name ve $email (ikisi de string). Bir __construct(string $name, string $email) yapıcı metodu property'lere değer atasın. Sonra $user = new User("Ayşe", "ayse@example.com") ile örnek oluştur ve echo $user->name . "\n" ile adı yazdır.

Örnek çözümü göster
public property tanımla, yapıcıda $this->name = $name ata, dışarıdan $user->name ile eriş.
Örnek çözüm:
<?php
// User sınıfını tanımla ve dışarıdan erişimi test et
class User {
    public string $name;
    public string $email;
    public function __construct(string $name, string $email) {
        $this->name = $name;
        $this->email = $email;
    }
}
$user = new User("Ayşe", "ayse@example.com");
echo $user->name . "\n";

Kendini test et

  1. public erişim hangi durumda uygundur?

    • Yalnızca alt sınıfların erişeceği property'ler için
    • Dışarıdan doğrudan erişilmesi gereken property'ler için
    • Yalnızca tanımlandığı sınıftan erişilecek property'ler için
    • Hiçbir yerden erişilmemesi gereken property'ler için
    Cevabı göster

    Dışarıdan doğrudan erişilmesi gereken property'ler için — Doğru. public, dışarıdan doğrudan erişilecek property'ler ve methodlar içindir.

  2. public property tanımla

    class User {
        ____
    }
    Cevabı göster
    class User {
        public $name;
    }
  3. public ile ilgili ifadeleri eşleştir

    public property
    Her yerden erişilebilir
    public method
    Dışarıdan çağrılabilir
    $user->name
    Dışarıdan erişim örneği
    public string $name
    Property tanımı

Orta seviye bölümündeki tüm dersler