基于php編程規(guī)范(詳解)
今天寫這個(gè)是為了 提醒自己 編程過(guò)程 不僅要有邏輯 思想 還有要規(guī)范 代碼 這樣可讀性
1、PHP 編程規(guī)范與編碼習(xí)慣最主要的有以下幾點(diǎn):
1 文件說(shuō)明
2 function 函數(shù)體說(shuō)明
3 代碼縮進(jìn)
4 if省略
5 變量規(guī)范
6 命名規(guī)范
7 十行一注釋
8 注釋風(fēng)格
9 開(kāi)放關(guān)閉原則
2、文件說(shuō)明 個(gè)人代碼 -規(guī)范如下:
<? /* +---------------------------------------------------------------------- + Title : 標(biāo)題 + Author : 作者 + Version : 版本號(hào) + Initial-Time : 這個(gè)文件初始創(chuàng)建的時(shí)間 + Last-time : 這個(gè)文件最后修改的時(shí)間 + 修改人的名稱 + Desc : 這個(gè)文件的簡(jiǎn)單描述 +---------------------------------------------------------------------- */
3、Function 函數(shù)體說(shuō)明:
<?
/**
* 函數(shù)體簡(jiǎn)單的描述
* @author_start : 作者
* @author_end : 修改時(shí)間 + 修改者
* @param string : $id 描述
* @param array : $array 描述
* @param array : $num 描述
* @return : 返回值說(shuō)明
*/
function Test($id, $array = array(), $num = 1){
}
注意:Function里面變量參數(shù)的代碼縮進(jìn)風(fēng)格
4、代碼縮進(jìn):
<?
$str = 1;
$info = '123';
$version = '123123';
$name = 'test';
$i = 'haha';
# 一般在最外部的if 或流程控制語(yǔ)句都應(yīng)該上下留空一行
if ($info) {
}
# 一般在最外部的for或者 foreach都應(yīng)該上下留空一行
for ($i=0 ,$i<6 ,$i++){
}
5、IF省略
<?
# 一般在if語(yǔ)句與其分支的流程控制語(yǔ)句當(dāng)中,存在這exit或者return的情況下,都應(yīng)該省略其else的部分操作
# 錯(cuò)誤
if () {
return false;
} else {
return true;
}
# 正確
if () {
return false;
}
return true;
6、變量規(guī)范,使用英文命名
<? # 正確 $title = '標(biāo)題'; $name = '名稱'; $pwd = '密碼'; # 錯(cuò)誤 $biaoti = '標(biāo)題'; $ming = '名稱'; $mima = '密碼';
7、命名規(guī)范
<?
/**
* 實(shí)際開(kāi)發(fā)中,命名方式一般有三種情況
* 注意:不管是類名,變量,方法名,在實(shí)際開(kāi)發(fā)中,最多只能是不超過(guò)3個(gè)單詞的組合
* 大駝峰 :每個(gè)單詞首字母大寫
* 小駝峰 :中間單詞首字母大寫
* 蛇形 :每個(gè)單詞小寫,單詞與單詞之間使用 _ 符合鏈接
*/
# 大駝峰,常用于類名定義
class Car{}
class BlueCar{}
# 小駝峰,常用于方法名定義
class Car{
public function getColor(){}
}
# 蛇形,常用于變量名定義
$res_id = 1;
$res_name = 2;
9、注釋風(fēng)格
<? 1、當(dāng)需要對(duì)某段代碼,做大量描述時(shí),使用以下注釋風(fēng)格 /** * 我是說(shuō)明 * ① 流程一 * ② 流程二 * ③ 流程三 */ 2、當(dāng)需要對(duì)一行代碼,做小量描述時(shí),使用以下注釋風(fēng)格 # 這是XXXX給ZZZZ的變量,叫CCCC $name = ''; 3、當(dāng)需要對(duì)一行代碼,做簡(jiǎn)介描述時(shí),使用以下注釋風(fēng)格 $name = ''; // X表的字段 $index_head = ''; // 首頁(yè)請(qǐng)求頭
10、開(kāi)放關(guān)閉原則
實(shí)際上這是一個(gè)概念,是設(shè)計(jì)模式中的一種。
簡(jiǎn)單來(lái)說(shuō),就是一個(gè)已經(jīng)完成上線的class或者api,可以在不改動(dòng)起原文件的情況下,對(duì)其功能進(jìn)行外部擴(kuò)展。
以上這篇基于php編程規(guī)范(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
php PDO實(shí)現(xiàn)的事務(wù)回滾示例
這篇文章主要介紹了php PDO實(shí)現(xiàn)的事務(wù)回滾功能,結(jié)合具體實(shí)例形式分析了php基于PDO操作實(shí)現(xiàn)事務(wù)回滾功能的相關(guān)SQL語(yǔ)句與操作技巧,需要的朋友可以參考下2017-03-03
php中用memcached實(shí)現(xiàn)頁(yè)面防刷新功能
這篇文章主要介紹了php中用memcached實(shí)現(xiàn)頁(yè)面防刷新功能,這是一個(gè)比較安全、穩(wěn)定的防刷新方案,需要的朋友可以參考下2014-08-08
php 出現(xiàn)Strict Standards: Only variables should be passed by r
這個(gè)問(wèn)題多半是因?yàn)橐脗鬟f參數(shù)引起的,解決辦法一是修改代碼不使用引用傳遞,需要的朋友可以參考下2017-08-08
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)類的定義與用法簡(jiǎn)單示例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)類的定義與用法,結(jié)合實(shí)例形式分析了php類的定義、實(shí)例化、__set()及__get()具體使用技巧,需要的朋友可以參考下2016-12-12
PHP編程中的Session阻塞問(wèn)題與解決方法分析
這篇文章主要介紹了PHP編程中的Session阻塞問(wèn)題與解決方法,簡(jiǎn)單分析了php session阻塞的原理、原因與簡(jiǎn)單解決方法,需要的朋友可以參考下2017-08-08
php設(shè)計(jì)模式 State (狀態(tài)模式)
允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為,對(duì)象看起來(lái)似乎修改了它所屬的類2011-06-06
php使用yield對(duì)性能提升的測(cè)試實(shí)例分析
這篇文章主要介紹了php使用yield對(duì)性能提升的測(cè)試,結(jié)合具體實(shí)例形式對(duì)比分析了php使用yield及常規(guī)操作的運(yùn)算耗時(shí)與內(nèi)存占用情況,測(cè)試了yield對(duì)性能的提升大小,需要的朋友可以參考下2019-09-09
PHP編程獲取圖片的主色調(diào)的方法【基于Imagick擴(kuò)展】
這篇文章主要介紹了PHP編程獲取圖片的主色調(diào)的方法,基于PHP的Imagick擴(kuò)展實(shí)現(xiàn)針對(duì)圖片的顏色值獲取功能,需要的朋友可以參考下2017-08-08

