2013-06-21 21 views
0

我還沒有找到關於PHP的命名空間的關係是如何工作的文件strucutrePHP命名空間中的文件結構

一個明確的答案。如果我有一些代碼說

<?PHP 

namespace Go/Project 

Use Foo/Bar/Dog 

class cat extends dog 
{ 

..... 

} 

?> 

是什麼文件像這樣的結構,我需要反映我在namspaces和文件結構中導入的內容,還是需要在其中添加一些include()。

+0

嗨亞倫!我認爲Zend Framework2的一個例子告訴了一切。 https://github.com/zendframework/zf2/blob/master/library/Zend/Barcode/Renderer/Pdf.php –

回答

0

這取決於您的自動加載器。有些框架使用標準PSR-0,有些不使用。您可以在不使用自動加載器的情況下編寫應用程序,並且獨立於文件結構編寫命名空間。

例如,您可以在DocumentRoot的index.php中聲明命名空間Acme/Foo/Bar/Do/For/Me/Some/Thing,並且此文件中聲明的所有類都將存儲在此名稱空間下。

但是,如果您不想在文件的每個文件require中編寫語句,則可能需要編寫自動加載器函數並使文件結構和名稱空間結構相互依存。

+0

謝謝。幫助我意識到有些事情像自動加載器確實有助於清理事情。 –