淺析php與資料庫代碼開發規範_PHP

來源:互聯網
上載者:User
關鍵字 php 代碼規範 資料庫
1、PHP中對各類變數內容的命名規範

(1)目錄命名、檔案命名、局部變數命名:
使用英文名詞、動詞,以底線作為單詞的分隔,所有字母均使用小寫
目錄:upload、templates、install、manage……
檔案:index.php 、 register.php 、 config.php……
變數:$user , $pay_time , $pay_del_cont ……

(2)全域常量命名:
使用英文名詞、動詞,所有字母都使用大寫,以底線分隔每個單詞
define( 'WEBSITE_NAME', '名稱' );
define( 'WEBSITE_URL', '地址' );
英文名詞、動(3)陣列變數命名:
詞,以底線作為分隔,所有字母均使用小寫以array結束
$scope_array = array();
$book_id_array = array();

(4)物件變數命名:
英文名詞、動詞,以底線作為分隔,可以完整採用類名或是簡化類名,但是必須明確知道是什麼類,所有字母均使用小寫,在變數後加上_obj

$user_obj = new userAccount();
$pay_obj = new payOrder();

(5)類的命名:
使用英文名詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,名詞的首個字母使用小寫,不使用底線

class userAccount{ ……}

(6)方法命名:
使用英文名詞、動詞,以底線作為單詞的分隔,所有字母均使用小寫
複製代碼 代碼如下:
class userAccount {
public $name_account=‘';
function is_account_ok(){
...
}
function add_account(){
...
}
}


關於對象屬性的命名同理!

2、PHP中函數、符號、運算寫作規範
(1)if語句大括弧{}規則:
將大括弧放置在關鍵詞後方
使用IF語句盡量使用大括弧
複製代碼 代碼如下:
if ( $condition ){
...
}else{

}

(2)、switch規則
每個case塊結束處必須加上break,而default總應該存在處理未知情況,例:
複製代碼 代碼如下:
switch( $condition ){
case 'user':
...
break;
case 'type':
...
break;
default:
...
break;
}

(3)、聲明定位規則
聲明代碼塊需要對齊,且初次使用變數時需要初始化
$tableName = '';
$databaseObject = '';
盡量不使用以下方式,例:
$tableName;
$accuntName = '';
$databaseObject = '';

html的form表單各個元素名稱與資料庫欄位盡量保持一致。
不要採用預設方法測試非零值,必須顯式測試,例:
if ( $name_pay_into != false ){
...
}else{
...
}

*儘可能使用單引號''而不是雙引號"",在需要加入變數或是寫sql語句除外。
*php檔案中儘可能不出現html語句,如果實在無法解決盡量少用,考慮到模板的相容性,
html檔案中儘可能避免出現php語句。
*通常每個方法只執行一項邏輯動作事務,所以對它們的命名應該清楚的說明它們是做什麼的:
用email_error_check()代替error_check()。

請注意命名不要與系統方法衝突。

3、PHP中各類注釋規範
/**
* 分頁預先處理函數
* sql SQL語句
* page 當前頁數
* limit 每頁顯示的數量
* maxs 查詢總數
*/
function limit($sql,$page='0',$limit=10,$maxs=''){ }

//使用者檢測
if( $check_obj->username( $username ) == true ){ … }

$user_name = $_GET[user]; //擷取使用者資訊

4、資料庫設計與操作規範

資料庫規範
資料庫名稱應該由概述項目內容的小寫英文名片語成,以底線分隔單詞,
避免跨平台時可能出現的大小寫錯誤。

資料表名稱應該由物件對象名稱的小寫英文名片語成(儘可能對應系統中的業務類名稱),以底線分隔單詞,避免跨平台時可能出現的大小寫錯誤。

資料表的欄位應避免使用varchar、text等不定長的類型,時間資訊的欄位使用int類型儲存。
查詢資料連線多表時各資源應該使用全名稱,即tableName.fieldName,而不是fieldName。
SQL語句應儘可能符合ansi92標準,避免使用特定資料庫對SQL語言的擴充特性。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.