2010-10-14 81 views
7

Aloha,命名约定 - 使用PHP和MySQL

我刚刚开始使用PHP进行编程,并且有一个基本的命名约定问题。阅读this post后,我已阅读了很多PHP编码标准。它对我来说非常合理,因为我已经更喜欢在命名变量时使用camelCase。由于我将使用MySQL,我还阅读了数据库命名约定。有很多不同的偏好,但只要你保持一致就好,没关系。然而,我似乎注意到的一件事是,大多数数据库命名约定都会以大写字母开头,而在PHP(以及大多数编程)中,变量应以小写字母开头。我将使用带有DAO和VO的MVC模型。我真的希望我的VO能够反映我的数据库表,但第一个字母的大小写是冲突的。我应该离开套管不匹配,还是改变一个,使它们都相同?你们怎么做?

由于提前,

弗兰克

回答

0

不喜欢它,你喜欢它,但是,正如你自己说:

[...]只要你 一致, 没关系。

我宁愿使用相同的外壳,并开始使用小写字母。

0

我倾向于在表和列的名称中使用全部小写字母,而空格替换为下划线。型号名称单数的表格名称。它通常有助于将数据库结构转换为模型的PEAR标准。

class User extends MyActiveRecord 
{ 
    public function getFirstName() 
    { 
    //... 
    } 
} 

SELECT * FROM user WHERE first_name LIKE 'Bill' 

外键为“某些特定信息”_“外表名”_“前列名”。它有助于找出我们通过外键链接的表。

SELECT * FROM post LEFT JOIN user ON post.author_user_id = user.id 
+0

感谢大家对你的投入,你一定帮我得出一些结论。我决定使用带下划线的小写字母表示我的数据库命名。 – LeTanc 2010-10-18 19:23:13

5

我建议小写字母用于数据库命名的下划线,因为这会使您的代码更加灵活。

例子:

假设你使用MySQL作为数据库并命名表FooBar的。现在客户端想要切换到PostgreSQL作为替代数据库,这会导致您的表名成为问题,因为postgres使用小写命名或用双引号包装。

MySQL查询语法:

SELECT * FROM FooBar 

Postgres的查询语法:

SELECT * FROM "FooBar" 

如果你曾跟随你可以使用一个查询两个

SELECT * FROM foo_bar 
1

雅通用的命名方案,对于数据库和表格,每个人都喜欢下划线。很少喜欢全部大写,很少全部都是小写。但是如果Phill是正确的,那么我将投票给所有小写的DB和表。