竞彩比分网首页|2014世界杯竞彩比分|
<noframes id="5hrvf"><span id="5hrvf"></span><address id="5hrvf"><thead id="5hrvf"></thead></address>
<progress id="5hrvf"></progress>
<thead id="5hrvf"><menuitem id="5hrvf"></menuitem></thead>
<thead id="5hrvf"><thead id="5hrvf"></thead></thead>
<address id="5hrvf"><menuitem id="5hrvf"><listing id="5hrvf"></listing></menuitem></address>
<menuitem id="5hrvf"></menuitem>
<var id="5hrvf"></var>
<noframes id="5hrvf"><progress id="5hrvf"></progress><address id="5hrvf"><noframes id="5hrvf">
<video id="5hrvf"></video>
異景網絡,提供企業網站建設,SEO優化推廣,網站開發等服務。 官方微信 官方博客 IDC網站
安陽網站建設官方微信

您的位置:網站首頁 >學做網站>做網站教程

史上最全PHP開發規范

2018-04-29 14:48 來源:異景網絡科技



新人可以很快的適應環境;防止新接觸PHP的人一次次的犯同樣的錯誤;在一致的開發環境下,可以減少人們犯錯的機會。本規范的標準在絕對多數應用上為仿照Java技術體系,因為Java技術體系以其眾多成功的案例成為大部分計算機應用層的工業標準,此外便于日后公司向Java技術體系轉型。



命名定義篇


局部變量命名


使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,例:


$repeatCount = '';


$delUserSql  = '';


全局常量命名


使用英文名詞、動詞,所有字母都使用大寫,以下劃線分隔每個單詞,例:


define( 'WEBSITE_NAME', '名稱' );


define( 'WEBSITE_URL',  '地址' )


數組變量命名


使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,以字符串Array為后綴,例:


$scopeArray  = array();


$bookIdArray = array();


靜態變量命名


使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,以字符串Static為后綴,例:


function getDirectoryFile()


{


static $fileArrayStatic = '';


static

$fileNumStatic   = '';


...


}


對象變量命名


使用類名稱為變量前綴,所有字母都使用大寫,以字符串_OBJECT為后綴,例:


$USERACCOUNT_OBJECT   = new UserAccount();


$PAINTINGORDER_OBJECT = new

PaintingOrder();


類命名


使用英文名詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,名詞的首個字母使用大寫,不使用下劃線,例:


class UserAccount


{


...


}


class PaintingOrder


{


...


}


方法命名


使用英文名詞、動詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,例:


class UserAccount


{


function isAccountOk()


{


...


}


function addAccount()


{


...


}


}


方法中參數命名


使用英文名詞、動詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,例:


class UserAccount


{


function isAccountOk( $accountName )


{


$this->accountName = $accountName;


...


}


function addAccount( $inputDataArray )


{


$this->inputArray =

$inputDataArray;


...


}


var $accuntName = '';


var $inputArray = '';


}


類屬性命名


使用英文名詞、動詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,單詞的首個字母


使用大寫,不使用下劃線,對于類屬性為某個對象變量,則以字符串Object為后綴,例:


class UserAccount


{


function IsAccountOk()


{


...


}


function AddAccount()


{


...


}


var $tableName      = '';


var $databaseObject = '';


}


三、語法書寫篇


大括號{}規則


將大括號放置在關鍵詞下方的同列處,例:


if ( $condition )


{


...


}


不使用此種方式:


if ( $condition ) {


...


}


代碼縮進規則


使用制表符縮進(TAB鍵)或四個空格。如果縮進層數大于四的時候,請重新設計該項業務邏輯的算法。


小括號()規則


不要把小括號和關鍵詞、方法名、方法參數緊貼在一起,要用一個空格分隔,例:


if ( $condition )


{


...


}


function addAccount( $inputDataArray )


{


...


}


由于小括號與關鍵詞等緊貼容易被看成是一體,因此不要使用以下方式,例:


if ($condition) {


...


}


function addAccount($inputDataArray)


{


...


}


if .. else ... 規則


通常最好有一個else塊以用于處理未處理到的或未知的其他情況,即使條件處理語句只有一個也必須使用大括號{},例:


if ( $condition1 )


{


...


}


else if ( $condition2

)


{


...


...


}


else


{


...


}


盡可能避免以下使用方式,例:


if ( $condition1 )


...


else


...


switch規則


每個case塊結束處必須加上break,而default總應該存在處理未知情況,例:


switch( $condition )


{


case $value1:


...


break;


case

$value2:


...


break;


default:


...


break;


}


聲明定位規則


聲明代碼塊需要對齊,且初次使用變量時需要初始化,例:


var $tableName      = '';


var $databaseObject = '';


不使用以下方式,例:


var $tableName;


var $accuntName = '';


var $databaseObject = '';


四、其它說明篇


所有類方法必須有返回值,除結果簡單外返回true或者false之外,其它方法應返回不同的值


以交作流程進一步處理。


html的form表單統一不設置submit按鈕的名稱屬性(name)。


html的form表單各個元素名稱與數據庫字段保持一致。


每行一個語句。


不要采用缺省方法測試非零值,必須顯式測試,例:


if ( false != $this->IsAccountOk()

)


{


...


}


else


{


...


}


不要使用以下方式,例:


if ( $this->IsAccountOk()

)


{


...


}


else


{


...


}


不要使用三元邏輯符 ? :,但對變量的賦值除外,例:


$_GET['act']   = !empty( $_GET['act'] ) ? $_GET['act'] : 'v_login';


統一使用<?PHP ?>,禁止使用<? ?>格式。


對于get、post、session類型變量,必須使用$_GET、$_POST、$_SESSION方式定義和調用。


盡可能使用單引號''而不是雙引號''。


使用完畢后的數組變量、對象變量、查詢集合必須馬上使用unset()、free_result()釋放資源。


一個PHP文件只能包含一個類定義編碼,以類名稱作為文件名稱。


PHP文件中絕不能出現html語句,html文件中盡可能避免出現PHP語句。


html文件必須通過w3c的html4檢測認證(http://validator.w3.org/

)。


如果發覺您在程序中的命名只有少量能和其對應事物相匹配的話,請重新設計系統。


在為類命名前首先要知道它是什么。如果通過類名提供的線索,您還是想不起這個類是什么的話,


那么您的設計是做得不夠好。


超過三個單詞組成的混合名是容易造成系統各個實體間的混淆,請重新設計類。


通常每個方法只執行一項邏輯動作事務,所以對它們的命名應該清楚的說明它們是做什么的:用checkForErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。


這么做使功能和數據成為更可區分的物體。


五、程序注釋篇


類的注釋


/*


* Purpose:


* 作為通用接口訪問數據庫的類


* Class Name:


* Database


*

Author:


* [email protected]


* Modifications:


*

2004-08-18 09:15


* 添加db_insert_id()方法


* [email protected]


* See: 參照說明


*/


class Database


{


……


}


類方法的注釋


/*


* Purpose:


* 取得上一步數據庫insert操作產生的id


* Method Name:


*

getInsertId()


* Parameter:


* Return:


* int


* Author:


* unixdotnet

[email protected]


* Modifications:


* 2004-08-18 09:15


* 修改原因


* unixdotnet [email protected]


* See: 參照說明


*/


function getInsertId()


{


...


}


類屬性的注釋


class Database


{


/*


* Purpose:


* 連接數據庫所需的用戶名


*

Attribute Name:


* $databaseUserName


* Type: string


* Author:


*

unixdotnet [email protected]


*

Modifications:


* 2004-08-18 09:15


* 修改原因


* unixdotnet [email protected]


* See: 參照說明


*/


var $databaseUserName;


...


}


六、數據庫應用篇


數據庫的設計必須符合三個范式(極端要求常用高速時考慮單獨設置記錄表除外)。


數據庫名稱應該由概述項目內容的小寫英文名詞組成,以下劃線分隔單詞,


避免跨平臺時可能出現的大小寫錯誤。


數據表名稱應該由物件對象名稱的小寫英文名詞組成(盡可能對應系統中的業務類名稱),


以下劃線分隔單詞,避免跨平臺時可能出現的大小寫錯誤。


數據表的字段應避免使用varchar、text等不定長的類型,時間信息的字段使用unix tiemstamp類型存儲。


查詢數據時禁止使用*通配符避免占用資源加速處理速度,盡量避免使用臨時表。


查詢數據連接多表時各資源應該使用全名稱,即tableName.fieldName,而不是fieldName。


SQL語句應盡可能符合ansi92標準,避免使用特定數據庫對SQL語言的擴充特性。


開發結束后,必須針對SQL查詢語句的條件語句部分(where)添加索引,


須匹配多個條件的應該使用聚合索引。


索引的組成應由左至右匹配條件語句的順序。


嚴禁盲目添加索引,避免減慢數據插入的速度、增大占用空間及減慢查詢速度。


每當數據庫(表)發生結構性變化時須登記保存;日常須定時(不超過三個工作日)


備份數據庫結構及其數據。

1.

給php變量賦值為字符串,盡量用單引號。單引號速度要快很多。


2.

給php變量賦值時,值中帶變量,就的用雙引號了,雙引號能自動解析變量,方便很多。


如$b=blue; $a="php$b"; echo $a;

輸出phpblue (單雙引號各有千秋啊)


3. html內盡量用雙引號,無論多長拿到php中首尾加單引號就行,甭怕錯。



雖然PHP的發展前途不容小噓,但選擇一個好的培訓基地也是至關重要的。11年來兄弟連教育精心打造PHP課程,專業的研發團隊打造了全新、緊跟時代前沿的PHP課程體系,抓住企業核心需求。

兄弟連教育PHP教學師資團隊也是是從知名IT企業專家及技術精英組成,具有多年的大型項目實戰經驗和教學經驗,可以讓PHP培訓學員由淺入深的學習,技術上不但能得到提升,就業時也更有優勢。


史上最全PHP開發規范相關文章

返回首頁

HOME
關于我們

異景網絡科技,致力于提供一站式企業網站建設服務,包括品牌及企業網站建設、河南做網站、 網站設計、鄭州網站建設、安陽網站開發等。以精而專的態度和優質化的建站服務,成為知名網站建設公司。 行業發展積淀。經驗豐富的設計團隊、精準策劃人員和完善的服務顧問,保障優高水準網站建設。

聯系我們
鄭州地址:中國·鄭州市金水區金城國際6號樓
安陽地址:安陽文峰區東風路文峰旺角
客服熱線:15137244044
騰訊 Q Q:874047918
電子郵箱:[email protected]
掃描二維碼
幫您解答建站問題
Copyright ? 2010-2018 All Rights Reserved. 網站備案號:豫ICP備19017326號-4
竞彩比分网首页
<noframes id="5hrvf"><span id="5hrvf"></span><address id="5hrvf"><thead id="5hrvf"></thead></address>
<progress id="5hrvf"></progress>
<thead id="5hrvf"><menuitem id="5hrvf"></menuitem></thead>
<thead id="5hrvf"><thead id="5hrvf"></thead></thead>
<address id="5hrvf"><menuitem id="5hrvf"><listing id="5hrvf"></listing></menuitem></address>
<menuitem id="5hrvf"></menuitem>
<var id="5hrvf"></var>
<noframes id="5hrvf"><progress id="5hrvf"></progress><address id="5hrvf"><noframes id="5hrvf">
<video id="5hrvf"></video>
<noframes id="5hrvf"><span id="5hrvf"></span><address id="5hrvf"><thead id="5hrvf"></thead></address>
<progress id="5hrvf"></progress>
<thead id="5hrvf"><menuitem id="5hrvf"></menuitem></thead>
<thead id="5hrvf"><thead id="5hrvf"></thead></thead>
<address id="5hrvf"><menuitem id="5hrvf"><listing id="5hrvf"></listing></menuitem></address>
<menuitem id="5hrvf"></menuitem>
<var id="5hrvf"></var>
<noframes id="5hrvf"><progress id="5hrvf"></progress><address id="5hrvf"><noframes id="5hrvf">
<video id="5hrvf"></video>
日本av女优经典电影 股票推荐排名2015 华盛配资 山东的十一选五走势 河南麻将推倒胡好友房 足球比分捷报比分手机 山西泳坛夺金 体球网手机比分足球即时比分 宁夏十一选五开奖走势 3d图谜总汇 哈尔滨麻将规则讲解 365即时比分网羽毛球 正规股票配资排名 时时彩 宁夏十一选五走势图宁 免费微信群哈尔滨麻将