繁体   English   中英

命名约定 - 使用PHP和MySQL

[英]Naming conventions - Working with PHP and MySQL

阿罗哈,

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

提前致谢,

坦率

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

例:

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

MySQL查询语法:

SELECT * FROM FooBar

Postgres查询语法:

SELECT * FROM "FooBar"

如果您遵循通用命名方案,则可以对两者使用一个查询

SELECT * FROM foo_bar

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

喜欢你喜欢它,但是,正如你自己说的那样:

[...]只要你一致,就可以了。

我更喜欢同时使用相同的外壳,并以小写字符开头。

我更喜欢在表和列的名称中使用所有小写,并且将空格替换为下划线。 表格名称单数的表格名称。 它通常有助于将数据库结构转换为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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM