溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHPer必須要了解的編程規(guī)范有哪些

發(fā)布時間:2021-09-29 11:58:29 來源:億速云 閱讀:105 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“PHPer必須要了解的編程規(guī)范有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHPer必須要了解的編程規(guī)范有哪些”吧!

1,錯誤報告開啟

錯誤報告是在PHP中一個非常有用的功能,應同時在開發(fā)階段啟用。 這可以幫助我們確定我們的代碼中的問題。 最常用的功能是“E_ALL”,這有助于我們發(fā)現(xiàn)所有的警告和嚴重錯誤。 必須指出的是,我們把我們的代碼投入上線前,我們應該關閉這個功能提示,否則會在瀏覽器上的暴漏所有潛在錯誤及警告。

2,使用DRY原則

‘Do not Repeat Yourself',DRY原則指的是不要重復你的代碼.。 這個概念是一個非常有用的編程概念,可硬應用在任何編程語言,如Java,C?;騊HP均可以。 使用DRY原則,確保我們在程序中沒有冗余的代碼。
違反 DRY 原則的解決方案通常被稱為 WET,指代“write everything twice”,我們寫的相同功能的代碼會出現(xiàn)多次以上,別大家戲稱是喜歡打字。

讓我們看看到下面的代碼:
Listing1:
WET代碼方式:

$mysql = mysql_connect ( 'localhost', 'mysqladmin_uid', 'mysqladmin_pwd' );
mysql_select_db( 'DB_NAME' ) or die( "Sorry !! No database selected!");

下面使用DRY 原則優(yōu)化代碼:

$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);

3,適當?shù)氖褂每s進及空格

在使用任何一種編程語言編寫代碼時,必須確保代碼在需要的地方提供在必要適當?shù)目s進和足夠的空格。 以增加了代碼的可讀性,用更有效的方式管理代碼。

4,使用有意義和一致的命名標準

正如任何編程語言,PHP的老兵還建議我們遵循有意義的命名標準。 我們有兩個主要方式在實現(xiàn)這個要求:
A.駝峰式
在這種方法中,第一個字母是小寫,每一個單詞的第一個字母其后以大寫。

Listing2:

public class MyClass {
public void methodName(String argName) {
}
}

B.下劃線式
在這種方法中,我們把每兩個詞之間的下劃線(“_”)。 使用這種方法時,代碼可以被修改如下:
Listing3:使用下劃線代碼片段

public class MyClass {
public void method_name(String arg_name) {
}
}

5,避免深層嵌套

使用任何開發(fā)語言,多級嵌套降低了代碼的可讀性。 任何開發(fā)者都應應避免使用深層嵌套。

Listing4:代碼片段具有多級嵌套

<?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;
}
}
}
?>

上面的代碼是一個簡單的嵌套代碼。 我們可以看到它是非常困難的,如果塊結束哪里的身影。 為了更好的可讀性,讓我們修改的代碼:
Listing5:代碼片段,避免多級嵌套

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;
}
}

6,添加應有的注釋

開發(fā)中,請確保你的源代碼中有足夠的行內注釋。 這是一個應該遵守的標準做法。 這有助于深入分析代碼,因為通常情況下,負責編碼的人不會一直保持不變。 即使同一個人被要求在代碼中進行一些簡單的修改,行內的注釋總是會有助于理解當時編寫代碼是用來做什么的。 為了在PHP中使用較好的注釋標準,建議大家去查看一些標準的PHP文檔包,例如phpDocumentor。

7,不要把PHPINFO()函數(shù)在網(wǎng)站根目錄

phpinfo()函數(shù)是一個非常重要的功能,應小心使用。 使用此功能,任何人都可以看到服務器環(huán)境的詳細信息。它最好始終放在
一個安全位置的文件中使用,一旦開發(fā)完成上線后,應該刪除這段代碼使用。

8,永遠不要相信用戶

如果您的應用程序涉及任何用戶輸入,務必要編寫安全的代碼以處理這種方式,因為它包含各種可能的輸入。 想要避免程序被攻擊注入或者破壞數(shù)據(jù)完整性,一定要驗證過濾數(shù)據(jù)的格式。大家可以看下這篇文章《可怕的代碼注入方式》

9,合理使用緩存機制

良好的編程方法總是建議使用緩存機制緩存幫助我們獲得更好的性能。

在PHP的世界,緩存使用來實現(xiàn):
Memcached的 —— 一個在使用小數(shù)據(jù)塊存儲鍵值對存 儲。
APC —— 可選PHP緩存為開放的PHP操作碼緩存
XCache —— 一種快速可靠的PHP操作碼緩存
Zend Cache – API,用于實現(xiàn)先進的高速緩存功能的集合。
eAcclerator – 開源的緩存工具

10,避免復制已有變量

將預定義變量復制到具有較小的名字的局部變量不是一個好的編程習慣。 這對應用程序的性能產(chǎn)生不利影響。 讓我們來看看下面的代碼片段:
Listing6:復制已有變量

$desc = strip_tags($_POST['PHP description']);
echo $desc;

上面的代碼的代碼是復制一個變量為局部變量不必要的例子。 這是不是一個好的做法。同樣的效果可以通過使用下面的代碼來實現(xiàn):

echo strip_tags($_POST['PHP description']);

11,使用框架

框架是大量的研究后開發(fā)的,因此,他們被證明是問題較少。 它們使我們的開發(fā)更便捷,因為它們提供成熟的解決方案。 在PHP中有很多可用的框架。 在開發(fā)過程中,你應該利用這些。 其中的一個框架,被廣泛采用的是MVC或模型視圖控制器。

感謝各位的閱讀,以上就是“PHPer必須要了解的編程規(guī)范有哪些”的內容了,經(jīng)過本文的學習后,相信大家對PHPer必須要了解的編程規(guī)范有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

php
AI