簡體   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