php代碼規范說明文檔

命名規則:采用駝峰標識,盡量做到見名知義

?

PHP編碼規范與原則

//命名:類,方法,函數,變量,

注釋:開發中難免留下一些臨時代碼和調試代碼,此類代碼必須添加注釋,以免日后遺忘。所有臨時性、調試性、試驗性的代碼,必須添加統一的注釋標記“//debug”并后跟完整的注釋信息,這樣可以方便在程序發布和最終調試前批量檢查程序中是否還存在有疑問的代碼。

如:$flag = TRUE; //debug 這里不能確定是否需要對$flag進行賦值

?

縮進/空格:使用四個空格為每層次縮進。對于最大縮進層數,并沒有一個固定的規矩,假如縮進層數大于五層的時候,考慮著將代碼因數分解。

?

運算符小括號、關鍵詞和函數:不要把小括號和關鍵詞緊貼在一起,要用空格隔開它們;不要把小括號和函數名緊貼在一起;除非必要,不要在Return返回語句中使用小括號。

如:

if (condition) {

}

?

大括號{}ifswitch

首括號與關鍵詞同行,尾括號與關鍵字同列;

if結構中,if和elseif與前后兩個圓括號同行,左右各一個空格,所有大括號都單獨另起一行。另外,即便if后只有一行語句,仍然需要加入大括號,以保證結構清晰;總是將恒量放在等號/不等號的左邊。

switch結構中,通常當一個case塊處理后,將跳過之后的case塊處理,因此大多數情況下需要添加break。break的位置視程序邏輯,與case同在一行,或新起一行均可,但同一switch體中,break的位置格式應當保持一致。

如:

$result = (($a + 1) * 3 / 2 + $num)).’Test’;

If ($condition) {

}

else

{

}

?

switch ($var)

{

case 1: echo ‘var is1’; break;

case 2: echo ‘var is2’; break;

default: echo ‘var is neither 1 or2’; break;

}

continue,break?和 ??的使用:把條件放在括號內以使它和其他的代碼相分離;如果可能的話,動作可以用簡單的函數;把所做的動作,“?”,“:”放在不同的行,除非他們可以清楚的放在同一行。

如:

(condition) ? funct1() : func2();

(condition)
? long statement
: another long statement;

不要采用缺省方法測試非零值:

用if (FAIL != f()) 比if (f()) 好

布爾邏輯:

if (TRUE == func()) { …
應該寫成:
if (FALSE != func()) { …

避免嵌入式的賦值:

如:while ($a != ($c = getchar()))???? 要避免

?

引號

寫數組的索引時,必須使用單引號??如:$test[‘key’]

絕大多數可以使用單引號的場合,禁止使用雙引號

聲明塊的定位:聲明代碼塊需要對齊

如:

var $mDate

var $mName

?

常量:常量應該總是全部使用大寫字母命名,少數特別必要的情況下,可使用劃線來分隔單詞

函數定義:參數的名字和變量的命名規范一致;函數定義中的左小括號,與函數名緊挨,中間無需空格;開始的左大括號另起一行;具有默認值的參數應該位于參數列表的后面;函數調用與定義的時候參數與參數之間加入一個空格;必須仔細檢查并切實杜絕函數起始縮進位置與結束縮進位置不同的現象。

包含調用:包含調用程序文件,請全部使用require_once,以避免可能的重復包含問題;
包含調用緩存文件,由于緩存文件無法保證100%正確打開,請使用include_once或include。在必要時,可以使用@include_once或@include的方式,以忽略錯誤提示;

注釋規則

類注釋:

方法注釋

變量注釋

if (0)來注釋外部代碼塊

有時需要注釋大段的測試代碼,最簡單的方法就是使用if (0)塊:

你不能使用/**/,因為注釋內部不能包含注釋,而大段的程序中可以包含注釋。

?

PHP文件擴展名

所有瀏覽者可見頁面使用.html

所有類、函數庫文件使用.php

?

PHP代碼標記

統一使用<?php ?>,只輸出變量時<?=$username?>

?

SQL設計規范

命名:表名,字段名,字段結構,索引名

表和字段命名:所有數據表名稱,只要其名稱是可數名詞,則必須以復數方式命名,例如:phpcms_member(用戶表);存儲多項內容的字段,或代表數量的字段,也應當以復數方式命名,例如:hits(查看次數)、items(內容數量)。

?

SQL語句書寫:所有SQL語句中,除了表名、字段名稱以外,全部語句和函數均需大寫,應當杜絕小寫方式或大小寫混雜的寫法。進行SQL執行的數據必須進行有效性檢測。

SQL語句書寫遵循優化原則

書寫規范

HTML 屬性全部用雙引號

盡量不要穿插PHP代碼

輸出網頁的頁面不出現SQL語句

轉載于:https://www.cnblogs.com/yanghome/archive/2012/10/18/2729857.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260295.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260295.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260295.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

下載網頁中的圖片到本地

簡單的一個下載如下 &#xff1a; string url "http://avatar.csdn.net/A/2/6/2_yefengzhixia.jpg";string filepath "D:\\pic.jpg";WebClient mywebclient new WebClient();mywebclient.DownloadFile(url, filepath);MessageBox.Show("OK");…

nacos linux啟動_微服務系列之Nacos配置中心之一:Nacos介紹與安裝

一、Nacos 介紹Nacos 是 Alibaba 公司推出的開源工具&#xff0c;用于實現分布式系統的服務發現與配置管理。英文全稱 Dynamic Naming and Configuration Service&#xff0c;Na 為 Naming/NameServer 即注冊中心&#xff0c;co 為 Configuration 即配置中心&#xff0c;Servic…

演練:在組件設計器中創建 Windows 服務應用程序

http://msdn.microsoft.com/zh-cn/library/zt39148a(vvs.80).aspx 演練&#xff1a;在組件設計器中創建 Windows 服務應用程序 .NET Framework 2.0其他版本5&#xff08;共 5&#xff09;對本文的評價是有幫助 - 評價此主題注意 Visual Studio 標準版中不提供“Windows 服務”模…

絕對震撼 7款HTML5動畫應用及源碼

除非特別聲明&#xff0c;PHP100新聞均為原創或投稿報道&#xff0c;轉載請注明作者及原文鏈接 原文地址&#xff1a; http://www.php100.com/html/it/mobile/2014/0702/7030.html [導讀] 關于HTML5動畫&#xff0c;我們已經分享太多了&#xff0c;當然也有很多利用純CSS3實現的…

maven打包指定main函數

2019獨角獸企業重金招聘Python工程師標準>>> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> …

java 任意數平均值_【編程題】通過鍵盤輸入三個任意的數字,計算三個值的平均值,并輸出結果。...

【單選題】對放大電路測試NPN型硅管測得Ube>0,Ubc>0,Uce>0【簡答題】Even ordinary men understand now that the universe is something vaster and broader than ever thought before.【單選題】【其它】The Einsteins,however,could not afford to pay for the adv…

【轉】Direct3D頂點結構使用總結

【轉】Direct3D頂點結構使用總結 D3D里面最基本的就是頂點了&#xff0c;雖說一直在用&#xff0c;可是卻也是自己比較模糊的一個點&#xff0c;知道其中的意思&#xff0c;卻不是很清楚&#xff0c;今天就總結一下&#xff0c;掃一下這個盲區&#xff1a; D3D中的頂點緩沖區的…

quick cocos2d-x 精靈大小(寬高)獲取

quick下sprite的大小獲取&#xff0c;記錄一下&#xff1a; local w sprite:getContentSize().width local h sprite:getContentSize().height 今天連這個最基本的&#xff0c;都不知道怎么獲取。挺實用的代碼額~轉載于:https://www.cnblogs.com/vokie/p/3822248.html

velocityjs 動畫庫 比jquery默認的animate強

神坑記錄&#xff1a; 1、transform: translate3d(80%,0,0); 無法作為參數&#xff0c;必須修改為這種&#xff1a;translateX: 0% 官方文檔 http://velocityjs.org/ github地址 https://github.com/julianshapiro/velocity npm下載安裝 npm install velocity-animate --save-d…

python中的可變數據類型有列表和元組_Python中列表的 += 和 .extend() 的異同

一道Python題最近有朋友“考”了我一個Python的題&#xff1a;使用和.extend()兩種方法擴展元組中的列表會發生什么。雖然我對Python中的可變數據類型、不可變數據類型的概念都有較深的理解&#xff0c;并且也對list的、、.extend()、.append()做過性能分析&#xff0c;但是和.…

簡易貪吃蛇小游戲java版_用GUI實現java版貪吃蛇小游戲

本文實例為大家分享了java版貪吃蛇小游戲的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下項目結構新建一個JFrame窗口,作為程序入口public class GameStart{public static void main(String[] args) {JFrame jFrame new JFrame();jFrame.setBounds(100,100,900,720…

幾種代價函數

SAD&#xff08;Sum of Absolute Difference&#xff09;SAE&#xff08;Sum of Absolute Error)即絕對誤差和 SATD&#xff08;Sum of Absolute Transformed Difference&#xff09;即hadamard變換后再絕對值求和 SSD&#xff08;Sum of Squared Difference&#xff09;SSE&am…

Markdown文件導出為HTML的小程序

Markdown文件導出為HTML的小程序為什么做 最近把一些學習經驗記下來&#xff0c;總結成MarkDown文件&#xff0c;不知不覺已經有12篇了。 Sublime Text 的 MarkDown Preview 插件能夠將MarkDown語法轉換為HTML&#xff0c;并提供三種預覽方式&#xff1a;瀏覽器預覽、保存為HTM…

python制作自動回復腳本_python itchat實現微信自動回復的示例代碼

今天在實驗樓發現一個特別好玩的&#xff0c;Python 微信庫itchat,可以實現自動回復等多種功能&#xff0c;好玩到根本停不下來啊&#xff0c;尤其是調戲調戲不懂計算機的&#xff0c;特別有成就感&#xff0c;哈哈&#xff01;&#xff01;代碼如下&#xff1a;#codingutf8imp…

pta龜兔賽跑Java_PTA-龜兔賽跑

烏龜與兔子進行賽跑&#xff0c;跑場是一個矩型跑道&#xff0c;跑道邊可以隨地進行休息。烏龜每分鐘可以前進3米&#xff0c;兔子每分鐘前進9米&#xff1b;兔子嫌烏龜跑得慢&#xff0c;覺得肯定能跑贏烏龜&#xff0c;于是&#xff0c;每跑10分鐘回頭看一下烏龜&#xff0c;…

視頻壓縮算法的相關知識

視頻壓縮算法的相關知識MPEG-1MPEG 視頻壓縮編碼后包括三種元素&#xff1a;I幀&#xff08;I-frames&#xff09;、P幀&#xff08;P-frames&#xff09;和B幀&#xff08;B-frames&#xff09;。在MPEG編碼的過程中&#xff0c;部分視頻幀序列壓縮成為I幀&#xff1b;部分壓縮…

安裝MariaDB數據庫(未完成)

1轉載于:https://www.cnblogs.com/centos7/p/5994533.html

python接口開發django_用 Django 開發接口

環境搭建1、pip install django2.2.0一、django-admin startproject UITESTpython manage.py startapp paltform創建Django項目1. 創建方式&#xff1a;#方式1&#xff1a;終端輸入django-admin startproject UITEST#方式2:pycharm中新建django項目在settings.py文件中添加應用…

戒掉dota

立言為證。 每次不想學習想到dota就強迫自己去培養的興趣。 比如看一本喜歡的書&#xff1b;比如去跑個步&#xff1b;比如研究某個興趣點寫個報告&#xff1b;比如寫份隨筆。 轉載于:https://www.cnblogs.com/hongxia/p/3830348.html

java切入式編程顯示屏_C語言嵌入式系統編程修煉之四:屏幕操作

C語言嵌入式系統編程修煉之四:屏幕操作作者:宋寶華 更新日期:2005-07-22漢字處理現在要解決的問題是&#xff0c;嵌入式系統中經常要使用的并非是完整的漢字庫&#xff0c;往往只是需要提供數量有限的漢字供必要的顯示功能。例如&#xff0c;一個微波爐的LCD上沒有必要提供顯…