2011-12-21 239 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

是的,将模型与存储库分开可能是一个好主意,因为所有存储库类都应该实现存储特定的逻辑。谢谢您的回答。 –

相关问题