mavzermete 1
mavzermete
Fethi Polat 1
Fethi Polat
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Scarlet 1
Scarlet
Hikaye Ekle

Altın Konu PHP Ad Alanları (Namespaces)

  • Konuyu başlatan Konuyu başlatan ITJA
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 9
  • Görüntüleme Görüntüleme 408
5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

PHP Ad Alanları


Ad alanları, iki farklı sorunu çözen niteleyicilerdir:

  1. Bir görevi gerçekleştirmek için birlikte çalışan sınıfları gruplayarak daha iyi organizasyona izin verirler.
  2. Aynı adın birden fazla sınıf için kullanılmasına izin verirler.
Örneğin, Tablo, Satır ve Hücre gibi bir HTML tablosunu tanımlayan bir sınıf grubunuz olabilirken, aynı zamanda Mobilyayı tanımlayan Masa, Sandalye ve Yatak gibi başka bir sınıf grubunuz da olabilir. Ad alanları, sınıfları iki farklı grup halinde düzenlemek için kullanılabilirken, aynı zamanda iki Tablo ve Tablo sınıfının karıştırılmasını da önler.


Ad Alanı Bildirme

Ad alanları, anahtar kelime kullanılarak bir dosyanın başında bildirilir namespace:

Sözdizimi

Turkmmo adında bir ad alanı bildirin:

HTML:
<?php
namespace Turkmmo;
?>

Not: namespace PHP dosyasındaki ilk şey bir bildirim olmalıdır. Aşağıdaki kod geçersiz olacaktır:

PHP:
<?php
echo "Merhaba Turkmmo";
namespace Turkmmo;
...
?>

Bu dosyada bildirilen sabitler, sınıflar ve işlevler Turkmmo ad alanına ait olacaktır:

Örnek

Turkmmo ad alanında bir Table sınıfı oluşturun:

HTML:
<?php
namespace Turkmmo;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "Benim Turkmmo";
$table->numRows = 5;
?>

<!DOCTYPE html>
<html>
<body>

<?php
$table->message();
?>

</body>
</html>

Daha fazla organizasyon için iç içe ad alanlarına sahip olmak mümkündür:

Sözdizimi

Code adlı bir ad alanı içinde Turkmmo adlı bir ad alanı bildirin:

PHP:
<?php
namespace Code\Turkmmo;
?>

Ad Alanlarını Kullanma

Bir bildirimi izleyen herhangi bir kod namespace ad alanı içinde çalışır, bu nedenle ad alanına ait sınıflar herhangi bir niteleyici olmadan başlatılabilir. Bir ad alanının dışından sınıflara erişmek için, sınıfın kendisine bağlı ad alanına sahip olması gerekir.

Örnek

Turkmmo ad alanındaki sınıfları kullanın:

PHP:
<?php
$table = new Turkmmo\Table()
$row = new Turkmmo\Row();
?>

Aynı ad alanından birçok sınıf aynı anda kullanıldığında, namespace anahtar sözcüğü kullanmak daha kolaydır:

Örnek

Turkmmo\qualifier'a ihtiyaç duymadan Turkmmoad alanındaki sınıfları kullanın:

PHP:
<?php
namespace Turkmmo;
$table = new Table();
$row = new Row();
?>

Ad Alanı Takma Adı

Yazmayı kolaylaştırmak için bir ad alanı veya sınıfa bir takma ad vermek yararlı olabilir. Bu, use anahtar kelimeyle yapılır:

Örnek

Bir ad alanına bir takma ad verin:

PHP:
<?php
use Turkmmo as H;
$table = new H\Table();
?>

Örnek

Bir sınıfa bir takma ad verin:

PHP:
<?php
use Turkmmo\Table as T;
$table = new T();
?>
 

En Çok Reaksiyon Alan Mesajlar

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

Geri
Üst