探索PHP最佳實踐

 

PHP Best Practices

PHP的最佳實踐

概觀: 右從成立之初, PHP是廣泛用於開發基於網絡的應用. 由於PHP是一種腳本語言必須遵循一些規則,同時開發.

In this document, 我就說說這是普遍遵循在PHP世界的最佳實踐.

介紹: PHP不需要任何介紹. 但, 如在任何技術, 我們必須遵循的一些準則,同時開發. 放在一起時,這些引導線形成最佳實踐規則.

下面是它與PHP的工作時,我們應該遵循的最佳實踐:

錯誤報告應該被打開 -

錯誤報告是在PHP世界一個非常有用的功能. 我們必須使這一點的同時,我們在開發階段. 這有助於我們確定我們的代碼中的問題. 最常用的功能是 “E_ALL‘ 這有助於我們發現所有的警告和嚴重錯誤. 必須指出的是,以前我們把我們的代碼投入生產, 我們應該關閉這個功能,因為這會暴露在瀏覽器中所有潛在的錯誤.

使用幹的做法 -

看台上幹的 “不要重複自己’. 這個概念是非常有用的編程概念,並應在任何編程語言例如可以使用. 爪哇, C#, PHP等。. 使用 方法我們確保沒有多餘的代碼. 一段代碼違反 被稱為 解. WET代表“寫兩遍' 要么 '我們享受打字’. 讓我們看看到下面的代碼 -

清單1 - 幹 & WET方法

[Code]

$mysql = mysql_connect ( 'localhost'的, ‘mysqladmin_uid’, “mysqladmin_pwd’ );

mysql_select_db( “DB_NAME’ ) 或者死( “抱歉 !! 未選擇數據庫!”);

[/Code]

這上面的代碼是基於濕方式作為相關參數是硬編碼. 繼DRY方法, 上面的代碼可以改為 -

[Code]

$DB_HOST = ‘ 本地主機“;
$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);

[/Code]

縮進和空白的使用 -

而在任何編程語言編寫代碼, 我們必須確保代碼是需要的地方給予適當的縮進和足夠的空格. 這增加了代碼的可讀性,並幫助我們維持在一個更有效的方式代碼.

有意義的和一致性的命名標準 -

如在任何編程語言, PHP專家還提醒遵循有意義的命名標準. 我們有兩個主要的方法,同時我們將確保實現這個 -

  • 駱駝使用案例 - 在這種方法中, 第一個字母是小寫每個單詞的第一個字母其後大寫.

Listing 2 - 代碼使用駱駝案例片段

[Code]

公共類MyClass的 {

公共無效 ethodN愛情(串 RGN愛情) {

}

}

[/Code]

  • 用兩個詞之間下劃線 - 在這種方法中, 我們把一個下劃線 (“_”) 每兩個詞之間. 使用這種方法, 上面的代碼可以修改為下 -

Listing 2 - 代碼使用下劃線片段

[Code]

公共類MyClass的 {

公共無效方法_名稱(串ARG_名稱) {

}

}

[/Code]

深度嵌套應避免 -

多級嵌套降低了代碼的可讀性是它的任何編程語言. 任何程序員都應該避免使用深層嵌套. 讓我們來看看下面的代碼片段 -

Listing 4 - 代碼片斷具有多層次嵌套

[Code]

公共類MyClass的 {

公共無效METHOD_NAME(串arg_name) {

如果 (is_writable($夾)) {

如果 ($FP = FOPEN($file_location_path,“W”)) {

如果 ($東西= extractSomeConditionalStuff()) {

如果 ( FWRITE ( $FP, $東東) ) {

// …

} 其他 {
返回false;
}

} 其他 {
返回false;
}

} 其他 {
返回false;

}

} 其他 {
返回false;
}

}

}

[/Code]

上面的代碼是一個簡單的嵌套代碼. 正如我們可以看到它是非常困難的,如果塊的結束位置推測這. 為了有一個更好的可讀性, 讓我們修改上面的代碼下 -

Listing 5 - 代碼片段避免多層次嵌套

[Code]

功能METHOD_NAME (串arg_name) {

// …

如果 (!is_writable($夾)) {
返回false;
}

如果 (!$FP = FOPEN($file_location_path,“W”)) {
返回false;
}

如果 (!$東西= extractSomeConditionalStuff()) {
返回false;
}

如果 (FWRITE($FP, $東東)) {
// …
} 其他 {
返回false;
}
}

[/Code]

把足夠的意見 -

如在任何編程語言, 確保你的源代碼中有足夠的內部註釋. 這是一個標準的做法,應遵循. 這有助於進一步分析代碼庫,因為它是一個標準的做法,是誰開發的代碼的人不保持相同. 即使同一個人被要求在代碼中進行一些變化, inline comments will always be helpful to understand the motive of writing the code. In order to maintain high class comment standard in PHP I would recommend you to get familiarize with some PHP documentation package e.g. phpDocumentor的.

不要把PHPINFO() 功能的Web根 -

PHPINFO() 是一個很重要的功能,並應以最大的小心使用. 使用此功能的任何人可以獲取服務器環境的細節. 它總是建議保持該文件包含 PHPINFO() 在安全位置功能. 一旦開發完成, 應立即取出的代碼.

永遠不要相信用戶 -

如果你的應用涉及任何用戶輸入, 編寫代碼以這樣一種方式,它可以處理各種可能的輸入. 一個好的方法來保護我們的應用程序免受黑客是要始終與一些初始值,可能無法在現有的業務流程相關的初始化變量.

使用緩存機制需要的地方 -

良好的編程方法總是建議使用緩存機制緩存幫助我們實現更好的性能. 在PHP世界緩存使用實現 -

  • Memcached的 - 用於數據的小塊的內存鍵值對商店.
  • APC - 替代PHP緩存公開操作碼緩存PHP
  • XCache - 快速可靠的PHP緩存操作碼
  • Zend的緩存 - API,用於實現高級緩存功能的集合.
  • eAcclerator - 開源緩存工具

Avoid copying extra variables –

這不是一個良好的編程習慣複製預定義變量到具有較小的名稱局部變量. 這對應用程序的性能產生不利影響. 讓我們來看看下面的代碼片段 -

Listing 6 - 複製額外的變量 -

[Code]

$DESC =用strip_tags($彥博[“PHP的說明”]);

迴聲$說明;

[/Code]

The above code snippet is an example of copying a variable into a local variable unnecessarily. This is not at all a good practice. 相同的動機可以通過使用以下代碼來實現 -

[Code]

迴聲用strip_tags($彥博[“PHP的說明”]);

[/Code]

採用框架 -

大量的研究工作後框架的開發,因此,它們被證明是有問題的少. 它們使我們的生活更容易為他們提供有效的解決方案. 在PHP中有很多可用的框架. 雖然發展, 我們應該利用這些. 其中一個框架被廣泛使用的是MVC或模型視圖控制器.

結論:

Let us conclude our discussion in the form of following bullets –

  • 最佳實踐指導我們制定更有效的方式代碼.
  • 遵循最佳實踐確保應用程序的性能更好.
  • 如在其他的編程語言, PHP也遵循從而確保開發的應用是一個很好的行業最佳實踐.

 

標籤:
============================================= ============================================== 在亞馬遜上購買最佳技術書籍,en,電工CT Chestnutelectric,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share