最佳11個PHP編程規範_PHP教程

來源:互聯網
上載者:User

最佳11個PHP編程規範


從設計之初,PHP被廣泛用於開發基於Web的應用程式。 由於PHP是一種指令碼語言,開發的時候必須遵守一些規範。

本文將討論常用的良好的代碼習慣,或者稱為代碼規範,在PHP領域。
1,錯誤報表開啟

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

2,使用DRY原則

‘Do not Repeat Yourself’,DRY原則指的是不要重複你的代碼.。 這個概念是一個非常有用的編程概念,可硬應用在任何程式設計語言,如Java,C#或PHP均可以。 使用DRY原則,確保我們在程式中沒有冗餘的代碼。
違反 DRY 原則的解決方案通常被稱為 WET,指代“write everything twice”,我們寫的相同功能的代碼會出現多次以上,別大家戲稱是喜歡打字。
讓我們看看到下面的代碼:
Listing1:
WET代碼方式:

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

下面使用DRY 原則最佳化代碼:

1 $db_host = ' localhost ';
2 $db_user = ' mysqladmin_uid ';
3 $db_password = ' mysqladmin_pwd ';
4 $db_database = ' DB_NAME ';
5 $mysql = mysql_connect($db_host, $db_user, $db_password);
6 mysql_select_db($db_database);

3,適當的使用縮排及空格

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

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

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

1 public class MyClass {
2 public void methodName(String argName) {
3 }
4 }

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

1 public class MyClass {
2 public void method_name(String arg_name) {
3 }
4 }

5,避免深層嵌套

使用任何開發語言,多級嵌套降低了代碼的可讀性。 任何開發人員都應應避免使用深層嵌套。
Listing4:程式碼片段具有多級嵌套

01
02 class MyClass {
03 public function method_name($arg_name) {
04 if (is_writable ( $folder )) {
05 if ($fp = fopen ( $file_location_path, 'w' )) {
06 if ($stuff = extractSomeConditionalStuff ()) {
07 if (fwrite ( $fp, $stuff )) {
08 // ...
09 } else {
10 return false;
11 }
12 } else {
13 return false;
14 }
15 } else {
16 return false;
17 }
18 } else {
19 return false;
20 }
21 }
22 }
23 ?>

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

01 function method_name (String arg_name) {
02 // ...
03 if (! is_writable ( $folder )) {
04 return false;
05 }
06 if (! $fp = fopen ( $file_location_path, 'w' )) {
07 return false;
08 }
09 if (! $stuff = extractSomeConditionalStuff ()) {
10 return false;
11 }
12 if (fwrite ( $fp, $stuff )) {
13 // ...
14 } else {
15 return false;
16 }
17 }

6,添加應有的注釋

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

7,不要把PHPINFO()函數在網站根目錄

phpinfo()函數是一個非常重要的功能,應小心使用。 使用此功能,任何人都可以看到伺服器環境的詳細資料。它最好始終放在
一個安全位元置的檔案中使用,一旦開發完成上線後,應該刪除這段代碼使用。

8,永遠不要相信使用者

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

9,合理使用緩衝機制

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

在PHP的世界,緩衝使用來實現:
Memcached的 —— 一個在使用小資料區塊儲存索引值對存 儲。
APC —— 可選PHP緩衝為開放的PHP作業碼緩衝
XCache —— 一種快速可靠的PHP作業碼緩衝
Zend Cache – API,用於實現先進的快取功能的集合。
eAcclerator – 開源的緩衝工具

10,避免複製已有變數

將預定義變數複製到具有較小的名字的局部變數不是一個好的編程習慣。 這對應用程式的效能產生不利影響。 讓我們來看看下面的程式碼片段:
Listing6:複製已有變數

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

上面的代碼的代碼是複製一個變數為局部變數不必要的例子。 這是不是一個好的做法。同樣的效果可以通過使用下面的代碼來實現:

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

11,使用架構

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

結論:

編程規範指導我們更有效開發代碼。
遵循編程規範,確保應用程式的更好的效能。
正如在其他程式設計語言,要想創造出高品質的代碼,PHP也需要遵循這種良好的編程規範。

http://www.bkjia.com/PHPjc/885675.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/885675.htmlTechArticle最佳11個PHP編程規範 從設計之初,PHP被廣泛用於開發基於Web的應用程式。 由於PHP是一種指令碼語言,開發的時候必須遵守一些規範。 本文將...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.