downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

İsim alanlarının kullanımı: Temeller> <Alt İsim Alanlarının Bildirilmesi
[edit] Last updated: Fri, 23 Mar 2012

view this page in

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

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
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
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
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
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();
?>



add a note add a note User Contributed Notes Birden Fazla İsim Alanının Aynı Dosyada Tanımlanması
kothnok at gmail dot com 03-Nov-2011 12:59
"use" statements are required to be placed after the "namespace my\space" but before the "{".
e.g.

<?php
namespace foobar
;
use
myspaceMyClass;
{

 
// place code here

} // end of namespace foo\bar

namespace anotherbar;
use
myspaceMyClass;
use
myspaceAnotherClass;
{

 
// place code here

} // end of namespace another\bar
?>
anders at ingemann dot de 20-Mar-2010 01:16
Apparently you will have to define namespaces using curly brackets enclosing theclasses, if you want doxygen to pick them up.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites