《PHP應(yīng)用:11個(gè)PHPer必須要了解的編程規(guī)范》要點(diǎn):
本文介紹了PHP應(yīng)用:11個(gè)PHPer必須要了解的編程規(guī)范,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP教程本文將討論常用的良好的代碼習(xí)慣,或者稱為代碼規(guī)范,在PHP領(lǐng)域.
PHP教程1,錯(cuò)誤申報(bào)開啟
PHP教程錯(cuò)誤報(bào)告是在PHP中一個(gè)非常有用的功能,應(yīng)同時(shí)在開發(fā)階段啟用. 這可以贊助我們確定我們的代碼中的問題. 最常用的功能是“E_ALL”,這有助于我們發(fā)現(xiàn)所有的警告和嚴(yán)重錯(cuò)誤. 必須指出的是,我們把我們的代碼投入上線前,我們應(yīng)該關(guān)閉這個(gè)功能提示,否則會在瀏覽器上的暴漏所有潛在錯(cuò)誤及警告.
PHP教程2,使用DRY原則
PHP教程‘Do not Repeat Yourself',DRY原則指的是不要重復(fù)你的代碼.. 這個(gè)概念是一個(gè)非常有用的編程概念,可硬應(yīng)用在任何編程語言,如Java,C#或PHP均可以. 使用DRY原則,確保我們在程序中沒有冗余的代碼.
違反 DRY 原則的辦理方案通常被稱為 WET,指代“write everything twice”,我們寫的相同功能的代碼會出現(xiàn)多次以上,別大家戲稱是喜歡打字.
PHP教程讓我們看看到下面的代碼:
Listing1:
WET代碼方式:
PHP教程
$mysql = mysql_connect ( 'localhost', 'mysqladmin_uid', 'mysqladmin_pwd' );
mysql_select_db( 'DB_NAME' ) or die( "Sorry !! No database selected!");
PHP教程下面使用DRY 原則優(yōu)化代碼:
PHP教程
$db_host = ' localhost ';
$db_user = ' mysqladmin_uid ';
$db_password = ' mysqladmin_pwd ';
$db_database = ' DB_NAME ';
$mysql = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_database);
PHP教程3,適當(dāng)?shù)氖褂每s進(jìn)及空格
PHP教程在使用任何一種編程語言編寫代碼時(shí),必需確保代碼在需要的地方提供在必要適當(dāng)?shù)目s進(jìn)和足夠的空格. 以增加了代碼的可讀性,用更有效的方式管理代碼.
PHP教程4,使用有意義和一致的命名標(biāo)準(zhǔn)
PHP教程正如任何編程語言,PHP的老兵還建議我們遵循有意義的命名標(biāo)準(zhǔn). 我們有兩個(gè)主要方式在實(shí)現(xiàn)這個(gè)要求:
A.駝峰式
在這種辦法中,第一個(gè)字母是小寫,每一個(gè)單詞的第一個(gè)字母其后以大寫.
PHP教程Listing2:
PHP教程
public class MyClass {
public void methodName(String argName) {
}
}
PHP教程B.下劃線式
在這種辦法中,我們把每兩個(gè)詞之間的下劃線(“_”). 使用這種辦法時(shí),代碼可以被修改如下:
Listing3:使用下劃線代碼片段
PHP教程
public class MyClass {
public void method_name(String arg_name) {
}
}
PHP教程5,避免深層嵌套
PHP教程使用任何開發(fā)語言,多級嵌套降低了代碼的可讀性. 任何開發(fā)者都應(yīng)應(yīng)避免使用深層嵌套.
PHP教程Listing4:代碼片段具有多級嵌套
PHP教程
<?php
class MyClass {
public function method_name($arg_name) {
if (is_writable ( $folder )) {
if ($fp = fopen ( $file_location_path, 'w' )) {
if ($stuff = extractSomeConditionalStuff ()) {
if (fwrite ( $fp, $stuff )) {
// ...
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
}
?>
PHP教程上面的代碼是一個(gè)簡單的嵌套代碼. 我們可以看到它是非常困難的,如果塊結(jié)束哪里的身影. 為了更好的可讀性,讓我們修改的代碼:
Listing5:代碼片段,避免多級嵌套
PHP教程
function method_name (String arg_name) {
// ...
if (! is_writable ( $folder )) {
return false;
}
if (! $fp = fopen ( $file_location_path, 'w' )) {
return false;
}
if (! $stuff = extractSomeConditionalStuff ()) {
return false;
}
if (fwrite ( $fp, $stuff )) {
// ...
} else {
return false;
}
}
PHP教程6,添加應(yīng)有的注釋
PHP教程開發(fā)中,請確保你的源代碼中有足夠的行內(nèi)注釋. 這是一個(gè)應(yīng)該遵守的標(biāo)準(zhǔn)做法. 這有助于深入分析代碼,因?yàn)橥ǔG闆r下,負(fù)責(zé)編碼的人不會一直堅(jiān)持不變. 即使同一個(gè)人被要求在代碼中進(jìn)行一些簡單的修改,行內(nèi)的注釋總是會有助于理解當(dāng)時(shí)編寫代碼是用來做什么的. 為了在PHP中使用較好的注釋標(biāo)準(zhǔn),建議大家去查看一些標(biāo)準(zhǔn)的PHP文檔包,例如phpDocumentor.
PHP教程7,不要把PHPINFO()函數(shù)在網(wǎng)站根目錄
PHP教程phpinfo()函數(shù)是一個(gè)非常重要的功能,應(yīng)小心使用. 使用此功能,任何人都可以看到服務(wù)器環(huán)境的詳細(xì)信息.它最好始終放在
一個(gè)平安位置的文件中使用,一旦開發(fā)完成上線后,應(yīng)該刪除這段代碼使用.
PHP教程8,永遠(yuǎn)不要相信用戶
PHP教程如果您的應(yīng)用程序涉及任何用戶輸入,務(wù)必要編寫平安的代碼以處理這種方式,因?yàn)樗鞣N可能的輸入. 想要避免程序被攻擊注入或者破壞數(shù)據(jù)完整性,一定要驗(yàn)證過濾數(shù)據(jù)的格式.大家可以看下這篇文章《可怕的代碼注入方式》
PHP教程9,合理使用緩存機(jī)制
PHP教程良好的編程辦法總是建議使用緩存機(jī)制緩存幫助我們獲得更好的性能.
PHP教程在PHP的世界,緩存使用來實(shí)現(xiàn):
Memcached的 ―― 一個(gè)在使用小數(shù)據(jù)塊存儲鍵值對存 儲.
APC ―― 可選PHP緩存為開放的PHP操作碼緩存
XCache ―― 一種快速可靠的PHP操作碼緩存
Zend Cache C API,用于實(shí)現(xiàn)先進(jìn)的高速緩存功能的集合.
eAcclerator C 開源的緩存工具
PHP教程10,避免復(fù)制已有變量
PHP教程將預(yù)定義變量復(fù)制到具有較小的名字的局部變量不是一個(gè)好的編程習(xí)慣. 這對應(yīng)用程序的性能產(chǎn)生不利影響. 讓我們來看看下面的代碼片段:
Listing6:復(fù)制已有變量
PHP教程
$desc = strip_tags($_POST['PHP description']);
echo $desc;
PHP教程上面的代碼的代碼是復(fù)制一個(gè)變量為局部變量不需要的例子. 這是不是一個(gè)好的做法.同樣的效果可以通過使用下面的代碼來實(shí)現(xiàn):
PHP教程
echo strip_tags($_POST['PHP description']);
PHP教程11,使用框架
PHP教程框架是大量的研究后開發(fā)的,因此,他們被證明是問題較少. 它們使我們的開發(fā)更便捷,因?yàn)樗鼈兲峁┏墒斓霓k理方案. 在PHP中有很多可用的框架. 在開發(fā)過程中,你應(yīng)該利用這些. 其中的一個(gè)框架,被廣泛采用的是MVC或模型視圖控制器.
PHP教程結(jié)論:
PHP教程編程規(guī)范指導(dǎo)我們更有效的開發(fā)代碼.
PHP教程遵循編程規(guī)范,確保應(yīng)用程序的更好的性能.
PHP教程正如在其他編程語言,要想創(chuàng)造出高質(zhì)量的代碼,PHP也必要遵循這種良好的編程規(guī)范.
《PHP應(yīng)用:11個(gè)PHPer必須要了解的編程規(guī)范》是否對您有啟發(fā),歡迎查看更多與《PHP應(yīng)用:11個(gè)PHPer必須要了解的編程規(guī)范》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/14705.html