• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

Birden Fazla İsim Alanının Aynı Dosyada Tanımlanması

Konuyu Okuyan Kişiler (0)

delete38

webmaster.tc
Katılım
7 Ara 2012
Mesajlar
27
Beğeniler
0
#1
Birden fazla isim alanı aynı dosya içinde bildirilebilir. İki çeşit söz dizimine izin verilir.

Örnek 1 - Birden fazla isim alanın ayrımsız ardarda bildirilmesi

PHP:
<?php
namespace Projem;

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */  }

namespace DiğerProjem;

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */  }
?>
Bu söz dizimi aynı dosya içinde birden fazla isim alanı bildirimi için önerilmez. Bunun yerine ayraçlı söz dizimi önerilir.

Örnek 2 - Birden fazla isim alanın ayraçlı olarak bildirilmesi
PHP:
<?php
namespace Projem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */  }
}

namespace DiğerProjem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */  }
}
?>
Aynı dosya içinde birden fazla isim alanını birleştirmek iyi bir kodlama uygulaması olarak teşvik edilmektedir. Çoğunlukla çok sayıda PHP betiğini aynı dosyada birleştirmek amacıyla kullanılır.

İsim alansız küresel kodu isim alanlı kodla bir arada kullanmanın tek yolu ayraçlı söz dizimini kullanmaktır (diğerine izin verilmemektedir). Küresel kod isimsiz bir isim alanı bildirimi ile aynı dosyada şöyle bildirilebilir:

Örnek 3 - Birden fazla isim alanın isim alansız kodla birlikte bildirilmesi
PHP:
<?php
namespace Projem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */  }
}

namespace { // küresel kod
session_start();
$a = Projem\bağlan();
echo Projem\Bağlantı::başlat();
}
?>
İsim alanı ayraçlarının dışında, kodlama belirten declare deyimi dışında hiçbir PHP kodu bulunamaz.

Örnek 4 - Birden fazla isim alanın isim alansız kodla birlikte bildirilmesi

PHP:
<?php
declare(encoding='UTF-8');
namespace Projem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */  }
}

namespace { // küresel kod
session_start();
$a = Projem\bağlan();
echo Projem\Bağlantı::başlat();
?>