我們經(jīng)常聽到有人試圖用一個周末多點的時間來學會PHP,其實學習這門編程語言的一種非常糟糕的方式。為何說學習PHP的過程有別于任何其它語言?

就其本質(zhì)而言,如果你摸透了了以PHP語言“做事”的方式,那么在使用它時就會得心應手,甚至事半功倍,因此值得你去投入精力去了解這些方式。在PHP中,單純按照自己思路去解決問題往往會是一種不恰當?shù)霓k法。如果你想寫出好的可操作性強的代碼,有些標準技巧是你必須要使用的。下面讓我們一起看一下你需要知道的9大技巧。

1、如何正確的創(chuàng)建一個網(wǎng)站的Index頁面

創(chuàng)建每一個網(wǎng)站時,建立網(wǎng)站的index頁面是首要做的事情之一。如果你是一個PHP新手,在編寫index頁面時典型的做法是只對index頁面所需的內(nèi)容進行編程,其它鏈接創(chuàng)建另一個頁面。不過,如果想學習一種更高效的方式來實現(xiàn)PHP編程,可以采用“index.php?page=home”模式,許多網(wǎng)站都在采用這種模式。

2、利用var_dump進行PHP代碼調(diào)試

如果你在尋找php調(diào)試技術,我必須說var_dump應該是你要找的目標。在顯示php信息方面這個命令可以滿足你的所有需要。而調(diào)試代碼的多數(shù)情況與得到PHP中的數(shù)值有關。

3、PHP處理代碼邏輯,Smarty處理展現(xiàn)層

Smarty是一個使用PHP寫出來的模板PHP模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。

4、使用Request Global Array抓取數(shù)據(jù)

實際上我們沒有任何理由使用$_GET和$_POST數(shù)組來抓取數(shù)值。$_REQUEST這個全局數(shù)組能夠讓你獲取一個get或form請求。因此,多數(shù)情況下解析數(shù)據(jù)的更高效代碼大體如下:

  1. $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 0;  

5、如果未定義,禁止訪問!

如果你正確的創(chuàng)建了頁面,那么任何其他人沒有理由訪問index.php或home.php之外的index.php頁面。一旦index.php被訪問后,你可以通過獲得變量的方式來打開需要的頁面。你的index頁面應該包含類似的以下代碼:

  1. define('yourPage',1); 

然后,其它頁面應該包含:

  1. if (!defined('yourPage')) die('Access Denied'); 

這么做的目的是防止直接訪問你的其它php頁面。這樣,任何試圖不通過index.php訪問其它網(wǎng)頁的人,將得到“訪問被拒絕”的消息。

6、了解你的SQL語句,并總是對其審查(Sanitize)

正如我以前所提到的,任何php網(wǎng)站中最重要的部分有99%的可能是數(shù)據(jù)庫。因此,你需要非常熟悉如何正確的使用sql。學會關聯(lián)表和更多高級技術。下面我將展示一個使用MySQL的函數(shù)示例,并使用本文第7條函數(shù)進行審查。

  1. private function getSentMessages($id)    <