2012-07-30 271 views
3

是否有命名约定用于文件类和属性多对一/一对多关系。这可能听起来像是一个关于命名集中的经典问题,但这不是,这是一个适用于关系的问题,比如说在Doctrine中。命名约定

这可能很愚蠢,但名字很重要,不是吗?

在这种情况下,我有一个实体GolferProfile,实体Category,因此希望有一个中间GolferProfile-Category实体。

我应该使用什么类名作为中间实体?

GolferProfileCategory OR GolferProfile_Category OR GolferProfile-Category OR anything else? 

同样的,财产......我看到有人用每一类,这将是$gc在这种情况下的第一个字母。这非常难以阅读,但另一方面,我们不想使用像$golferprofile_category这样的长名称?

任何对此的思考会帮助我了解如何与names..Cheers

回答

3

没有经验法则,但我会建议坚持一个实践,当谈到命名约定的一切:你似乎可以用camelCase了,所以为什么不使用它一切?

GolferProfile 
Category 
GolferProfileCategory 

$golferProfile 
$category 
$golferProfileCategory 
+0

太棒了!听起来不错! – Tom 2012-07-30 16:00:16

+0

“没有经验法则”不,但有CS指南。它看起来就是这样:) – PeeHaa 2012-07-30 16:02:37

3

考虑PHP的工作是一个类似C语言,我会按照它的教义。

参考:http://www.psgd.org/paul/docs/cstyle/cstyle04.htm

+0

为什么不按照PHP风格指南? – 2012-07-30 15:42:21

+0

@Matt Ball:如果根据[this]使用GolferProfile_Category(http://framework.zend.com/manual/en/coding-standard.naming-conventions),就是这样。HTML),这将会与我所做的不同。对于类名和属性,你会有什么建议?非常感谢 – Tom 2012-07-30 15:51:25

+1

看起来相当过时。我现在肯定不会说出可变的力量。 – Mahn 2012-07-30 15:58:33

2
class GolferProfile-Category {} 

产生a syntax error

GolferProfile_Category {} 

下划线将被目录分隔符in PSR-0替代。

GolferProfileCategory {} // is the winner. 

同样的,财产......我看到有人用每一类,这将是在这种情况下,$ GC的第一个字母。这很难阅读,但另一方面,我们不想使用像$ golferprofile_category这样的长名称?

$gc是个可怕的名字。没有人会知道这意味着什么。如果你指的是这个类的一个实例的变量,我总是去找camelCase。

$golferProfileCategory 

在我的经验中,大多数人(至少在PHP中)这样做。

+0

非常感谢@PeeHaa +1为PSR-0。根本不知道:-) – Tom 2012-07-30 16:00:00

+0

感谢编辑@PeeHaa。它真的有帮助:-) – Tom 2012-07-30 16:13:34

+0

@Tom NP,欢迎来到SO! :-) – PeeHaa 2012-07-30 16:14:48