最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

講的非常不錯的PHP編碼規(guī)范第1/3頁

 更新時間:2008年01月07日 22:36:37   作者:  
講的非常不錯的PHP編碼規(guī)范
注:這是從PHPCMS開發(fā)文檔里看到編碼規(guī)范,雖名為PHPCMS的開發(fā)規(guī)范,但我覺得所有的PHP編程都該如此。寫了那么多PHP,很多編碼對照這規(guī)范都感覺欠缺很多,今后一定要對照糾正。

Phpcms 編碼規(guī)范
1. 引言…. 2
2. 適用范圍…. 2
3. 標準化的重要性和好處…. 3
4. PHP編碼規(guī)范與原則…. 3
4.1. 代碼標記… 3
4.2. 注釋… 3
4.3. 書寫規(guī)則… 4
4.3.1. 縮進… 4
4.3.2. 大括號{}、if和switch. 4
4.3.3. 運算符、小括號、空格、關(guān)鍵詞和函數(shù)… 5
4.3.4. 函數(shù)定義… 6
4.3.5. 引號… 6
4.3.6. 多語言問題… 7
4.4. 命名原則… 8
4.4.1. 變量、對象、函數(shù)名… 8
4.4.2. 常量… 8
4.5. 變量的初始化與邏輯檢查… 8
4.6. 安全性… 9
4.7. 兼容性… 9
4.8. 代碼重用… 10
4.9. 其他細節(jié)問題… 10
4.9.1. 包含調(diào)用… 10
4.9.2. 錯誤報告級別… 11
5. 數(shù)據(jù)庫設計…. 11
5.1. 字段… 11
5.1.1. 表和字段命名… 11
5.1.2. 字段結(jié)構(gòu)… 11
5.2. SQL語句… 12
5.3. 性能與效率… 13
5.3.1. 定長與變長表… 13
5.3.2. 運算與檢索… 13
5.3.3. 結(jié)構(gòu)優(yōu)化與索引優(yōu)化… 14
5.3.4. 查詢優(yōu)化… 14
5.3.5. 兼容性問題… 16
6. 模板設計…. 16
6.1. 代碼標記… 16
6.2. 書寫規(guī)則… 16
6.2.1. HTML. 16
6.2.2. 變量… 16
6.2.3. 語言元素… 17
6.2.4. 縮進… 17
7. 文件與目錄…. 17
7.1. 文件命名… 17
7.2. 目錄命名… 18
7.3. 空目錄索引… 18

1. 引言
本規(guī)范由編程原則組成,融合并提煉了開發(fā)人員長時間積累下來的成熟經(jīng)驗,意在幫助形成良好一致的編程風格。以達到事半功倍的效果,如果有需要本文檔會不定期更新。
版權(quán): 陜西玖肆陸陸網(wǎng)絡科技有限公司,保留所有權(quán)利
最后更新日期:年11月20日 2006

2. 適用范圍
如無特殊說明,以下規(guī)則要求完全適用于phpcms項目,同時也可大部分適用于公司其他PHP項目。

3. 標準化的重要性和好處
當一個軟件項目嘗試著遵守公共一致的標準時,可以使參與項目的開發(fā)人員更容易了解項目中的代碼、弄清程序的狀況。使新的參與者可以很快的適應環(huán)境,防止部分參與者出于節(jié)省時間的需要,自創(chuàng)一套風格并養(yǎng)成終生的習慣,導致其它人在閱讀時浪費過多的時間和精力。而且在一致的環(huán)境下,也可以減少編碼出錯的機會。缺陷是由于每個人的標準不同,所以需要一段時間來適應和改變自己的編碼風格,暫時性的降底了工作效率。從使項目長遠健康的發(fā)展以及后期更高的團隊工作效率來考慮暫時的工作效率降低是值得的,也是必須要經(jīng)過的一個過程。標準不是項目成功的關(guān)鍵,但可以幫助我們在團隊協(xié)作中有更高的效率并且更加順利的完成既定的任務。
1. 程序員可以了解任何代碼,弄清程序的狀況
2. 新人可以很快的適應環(huán)境
3. 防止新接觸PHP的人出于節(jié)省時間的需要,自創(chuàng)一套風格并養(yǎng)成終生的習慣
4. 防止新接觸PHP的人一次次的犯同樣的錯誤
5. 在一致的環(huán)境下,人們可以減少犯錯的機會
6. 程序員們有了一致的敵人

4. PHP編碼規(guī)范與原則

4.1.代碼標記
PHP程序可以使用或來界定 PHP 代碼,在HTML頁面中嵌入純變量時,可以使用這樣的形式。
近年來PHP開發(fā)組一直倡導代碼規(guī)范化和標準化,未來版本PHP可能會開始不建議使用甚至取消和這種速記形式,因此為了加強程序兼容性,在發(fā)布之前我們將統(tǒng)一把 

4.2.注釋
注釋是對于那些容易忘記作用的代碼添加簡短的介紹性內(nèi)容。請使用 C 樣式的注釋“/* */”和標準 C++ 注釋“//”。

程序開發(fā)中難免留下一些臨時代碼和調(diào)試代碼,此類代碼必須添加注釋,以免日后遺忘。所有臨時性、調(diào)試性、試驗性的代碼,必須添加統(tǒng)一的注釋標記“//debug”并后跟完整的注釋信息,這樣可以方便在程序發(fā)布和最終調(diào)試前批量檢查程序中是否還存在有疑問的代碼。例如:
$num = 1;
$flag = TRUE; //debug 這里不能確定是否需要對$flag進行賦值
if(empty($flag)) {
//Statements


4.3.書寫規(guī)則

4.3.1. 縮進
每個縮進的單位約定是一個TAB(8個空白字符寬度),需每個參與項目的開發(fā)人員在編輯器(UltraEdit、EditPlus、Zend Studio等)中進行強制設定,以防在編寫代碼時遺忘而造成格式上的不規(guī)范。
本縮進規(guī)范適用于PHP、JavaScript中的函數(shù)、類、邏輯結(jié)構(gòu)、循環(huán)等。

4.3.2. 大括號{}、if和switch
首括號與關(guān)鍵詞同行,尾括號與關(guān)鍵字同列;
if結(jié)構(gòu)中,if和elseif與前后兩個圓括號同行,左右各一個空格,所有大括號都單獨另起一行。另外,即便if后只有一行語句,仍然需要加入大括號,以保證結(jié)構(gòu)清晰;
switch結(jié)構(gòu)中,通常當一個case塊處理后,將跳過之后的case塊處理,因此大多數(shù)情況下需要添加break。break的位置視程序邏輯,與case同在一行,或新起一行均可,但同一switch體中,break的位置格式應當保持一致。
以下是符合上述規(guī)范的例子:
If ($condition)
{
switch ($var)
{
case 1: echo ‘var is 1'; break;
case 2: echo ‘var is 2'; break;
default: echo ‘var is neither 1 or 2'; break;
}
}
else
{
switch ($str)
{
case ‘a(chǎn)bc':
$result = ‘a(chǎn)bc';
break;
default:
$result = ‘unknown';
break;
}


4.3.3. 運算符、小括號、空格、關(guān)鍵詞和函數(shù)
每個運算符與兩邊參與運算的值或表達式中間要有一個空格,唯一的特例是字符連接運算符號兩邊不加空格;
左括號“(” 應和函數(shù)關(guān)鍵詞緊貼在一起,除此以外應當使用空格將“(”同前面內(nèi)容分開;
右括號“)”除后面是“)”或者“.”以外,其他一律用空格隔開它們;
除字符串中特意需要,一般情況下,在程序以及HTML中不出現(xiàn)兩個連續(xù)的空格;
任何情況下,PHP程序中不能出現(xiàn)空白的帶有TAB或空格的行,即:這類空白行應當不包含任何TAB或空格。同時,任何程序行尾也不能出現(xiàn)多余的TAB或空格。多數(shù)編輯器具有自動去除行尾空格的功能,如果習慣養(yǎng)成不好,可臨時使用它,避免多余空格產(chǎn)生;
每段較大的程序體,上、下應當加入空白行,兩個程序塊之間只使用1個空行,禁止使用多行。
程序塊劃分盡量合理,過大或者過小的分割都會影響他人對代碼的閱讀和理解。一般可以以較大函數(shù)定義、邏輯結(jié)構(gòu)、功能結(jié)構(gòu)來進行劃分。少于15行的程序塊,可不加上下空白行;
說明或顯示部分中,內(nèi)容如含有中文、數(shù)字、英文單詞混雜,應當在數(shù)字或者英文單詞的前后加入空格。

根據(jù)上述原則,以下舉例說明正確的書寫格式:
$result = (($a + 1) * 3 / 2 + $num)).'Test';
$condition ? func1($var) : func2($var);
$condition ? $long_statement
: $another_long_statement;
if ($flag)
{

//Statements
//More than 15 lines
}
Showmessage(‘請使用 restore.php 工具恢復數(shù)據(jù)。'); 

相關(guān)文章

  • 為你總結(jié)一些php信息函數(shù)

    為你總結(jié)一些php信息函數(shù)

    PHP語言是一個基于函數(shù)的HTML語言,它龐大的函數(shù)庫可以幫助我們實現(xiàn)許多功能需求。我們在這里為大家詳細介紹了PHP信息函數(shù)包含的一些函數(shù)概念,需要的朋友可以參考下
    2015-10-10
  • 解析crontab php自動運行的方法

    解析crontab php自動運行的方法

    本篇文章是對crontab php自動運行的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Linux環(huán)境下搭建php開發(fā)環(huán)境的操作步驟

    Linux環(huán)境下搭建php開發(fā)環(huán)境的操作步驟

    本篇文章是對Linux環(huán)境下搭建php開發(fā)環(huán)境的操作步驟進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP也能干大事之PHP中的編碼解碼詳解

    PHP也能干大事之PHP中的編碼解碼詳解

    這篇文章主要介紹了PHP也能干大事之PHP中的編碼解碼詳解,本文講解了ASCII編解碼、URL編解碼、Base64編解碼、HTML實體編解碼、二進制、八進制、十進制、十六進制相互轉(zhuǎn)換等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • PHP函數(shù)nl2br()與自定義函數(shù)nl2p()換行用法分析

    PHP函數(shù)nl2br()與自定義函數(shù)nl2p()換行用法分析

    這篇文章主要介紹了PHP函數(shù)nl2br()與自定義函數(shù)nl2p()換行用法,結(jié)合實例形式分析PHP函數(shù)nl2br實現(xiàn)換行功能的優(yōu)缺點及自定義函數(shù)nl2p換行功能的使用技巧,需要的朋友可以參考下
    2016-04-04
  • php文檔工具PHP Documentor安裝與使用方法

    php文檔工具PHP Documentor安裝與使用方法

    這篇文章主要介紹了php文檔工具PHP Documentor安裝與使用方法,較為詳細的分析了在Linux平臺安裝與使用PHP Documentor的方法,需要的朋友可以參考下
    2016-01-01
  • PHP實現(xiàn)事件機制實例分析

    PHP實現(xiàn)事件機制實例分析

    這篇文章主要介紹了PHP實現(xiàn)事件機制的方法,實例分析了事件機制的原理與php的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • elgg 獲取文件圖標地址的方法

    elgg 獲取文件圖標地址的方法

    elgg本身有一套模板系統(tǒng),可以加載圖標。但是如果自己寫了新的模板,怎樣獲得img的src地址呢?
    2010-03-03
  • 再談PHP錯誤與異常處理

    再談PHP錯誤與異常處理

    這篇文章主要介紹了再談PHP錯誤與異常處理,對錯誤和異常感興趣的同學,可以參考下
    2021-04-04
  • Windows環(huán)境下安裝PHP Pear的方法圖文教程

    Windows環(huán)境下安裝PHP Pear的方法圖文教程

    這篇文章主要介紹了Windows環(huán)境下安裝PHP Pear的方法,結(jié)合圖文形式詳細說明了Windows環(huán)境下安裝PHP Pear的相關(guān)命令與操作技巧,需要的朋友可以參考下
    2019-07-07

最新評論

乐至县| 瓦房店市| 措勤县| 成都市| 重庆市| 新营市| 旬邑县| 武川县| 陇川县| 美姑县| 镇江市| 彰武县| 揭东县| 梨树县| 通辽市| 吉隆县| 玉溪市| 益阳市| 永寿县| 花莲县| 台安县| 叙永县| 温泉县| 都昌县| 芷江| 朝阳市| 沾化县| 丁青县| 鄂托克旗| 青岛市| 孟津县| 象州县| 陆河县| 扶风县| 阜新| 渝北区| 湖南省| 龙川县| 昔阳县| 百色市| 博兴县|