2011-12-21 249 views
3

1)命名空間「域\用戶」用類「模型」這是名稱命名空間和類

namespace MyDomain\Customer; 
class Model { } 
class Repository { } 

namespace MyDomain\City; 
class Model { } 
class Repository { } 

2)命名空間「MYDOMAIN」用最好的方式「CustomerModel」

namespace MyDomain; 
class CustomerModel { } 
class CustomerRepository { } 

namespace MyDomain; 
class CityModel { } 
class CityRepository { } 

3)命名空間「MYDOMAIN \客戶」與類「CustomerModel」

namespace MyDomain\Customer; 
class CustomerModel { } 
class CustomerRepository { } 

namespace MyDomain\City; 
class CityModel { } 
class CityRepository { } 

或者......

我們目前的環境中使用PHP自動加載功能,包括文件,這樣

$o = new MyDomain\Customer\Model.php 

將加載文件

MyDomain\Customer\Model.php 

其實哪裏我工作我們使用示例#1導致所有文件被命名爲Model.php。如果沒有在Eclipse IDE中查看完整路徑,知道打開哪個模型有點困難。

回答

2

類名應表達它們所代表的內容。一個名爲Model的類聽起來好像是某些模型的一般類。相反,CustomerModel表示它是客戶的典範。 客戶也沒有清楚地定義,當你看到它的背景下,但在你的特定應用程序,其含義是明確的。所以我建議選擇CustomerModel

如果您只有ModelRepository類,那麼僅爲這兩個類聲明整個名稱空間並不好,尤其是當您要定義幾個雙類名稱空間時。也許從模型庫中分離出模型?

+0

是的,將模型與存儲庫分開可能是一個好主意,因爲所有存儲庫類都應該實現存儲特定的邏輯。謝謝您的回答。 –

相關問題