最佳的扩展类命名约定是什么?

8
以下哪种命名约定被最广泛使用/接受,或者对大多数项目来说最优?我很难决定。
Base class: \Model
Sub class: \Model\User

Base class: \Model\Model
Sub class: \Model\User

Base class: \Model\Base
sub class: \Model\User

换句话说,我应该将基类放在与子类相同的命名空间中,然后是一个常量名称,比如“base”,还是与命名空间同名?

一些关于命名空间的想法:https://dev59.com/WkbRa4cB1Zd3GeqPyDNg - cbednarski
3个回答

3
说实话,我通常会将基类放在与子类相同的目录中,除非基类是作为多应用框架的一部分而设计的,那么它将放在一个通用库中。

1

不确定PHP如何处理命名空间/包,但在其他语言中,将事物保持在同一包中有益处。我特别考虑了使用Java的defaultprotected访问修饰符或C++的friend关键字的能力。一旦您开始将抽象内容与具体内容分开到不同的包中,这些可能就不可能/不那么直接了。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接