亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

讓PHP開發者事半功倍的十大技巧

2024-09-04 11:43:46
字體:
來源:轉載
供稿:網友

1、如何正確的創建一個網站的Index頁面

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

2、使用Request Global Array抓取數據

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

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

3、利用var_dump進行PHP代碼調試

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

4、PHP處理代碼邏輯,Smarty處理展現層

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

5、的確需要使用全局數值時,創建一個Config文件

動輒創建全局數值是一種糟糕的做法,不過有時候實際情況的確又需要這么做。對于數據庫教程表或數據庫連接信息使用全局數值是一個不錯的想法,但不要在你的PHP代碼中頻繁使用全局數值。另外,更好的一種做法是把你的全局變量存放在一個config.php文件中。

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

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

define('yourPage',1); 然后,其它頁面應該包含:

if (!defined('yourPage')) die('Access Denied'); 這么做的目的是防止直接訪問你的其它php頁面。這樣,任何試圖不通過index.php訪問其它網頁的人,將得到“訪問被拒絕”的消息。

7、創建一個數據庫類

如果你正在進行數據庫編程,在PHP中非常常見的任務,一個不錯的想法是創建一個數據庫類來處理任何數據庫管理功能,示例代碼如下:

  1. public function dbExec($query)      {          $result = $this->db->exec($query);          if (PEAR::isError($result))              errorRedirect($result->getMessage(), true);          else             return $result;      }   

這個函數僅接收一個查詢語句并對其執行,它還處理可能出現的任何錯誤,你還可以在這兒包含審核代碼,不過我更喜歡使用一個類似的審核函數:

  1. // checks if arguments given are integer values not less than 0 - has multiple arguments      function sanitizeInput()      {          $numargs = func_num_args();          $arg_list = func_get_args();          for ($i = 0; $i < $numargs; $i++) {              if (!is_numeric($arg_list[$i]) || $arg_list[$i] < 0)                  errorRedirect("Unexpected variable value", true);          }      }  

8、一個php文件處理輸入,一個class.php文件處理具體功能

不讓代碼變得混亂的一個重要方法是:獲取用戶輸入后,將其重定向到其它函數來進行處理。原理非常簡單,php文件獲得我們需要的任何輸入,然后將其執行重定向到類文件中的一個函數。舉例來講,假設有一個類似“index.php?page=profile&action=display”的URL。由profile.php來檢索該網址并得到操作是“display”。然后使用一個簡單的switch函數,我們來執行真正的顯示函數:

require_once PROJECTROOT.'libs/messages.class.php'; $message = new Message();      switch ($action)    {        case 'display':            $message->display();            break;      ... 如上所示,我使用了一個消息類,然后開始進行switch檢查。$message只是被類中的調用函數使用的一個對象。

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

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

  1. private function getSentMessages($id)  {     
  2.  
  3. $this->util->sanitizeInput($id);        
  4.  
  5.  $pm_table = $GLOBALS['config']['privateMsg'];      $users = $GLOBALS['config']['users'];         //開源代碼Vevb.com 
  6.  
  7.  $sql = "SELECT PM.*, USR.username as name_sender FROM $pm_table PM, $users USR              
  8. WHERE id_sender = '$id' AND sender_purge = FALSE AND USR.id = PM.id_receiver AND is_read = TRUE              
  9. ORDER BY date_sent DESC";      
  10. $result = $this->dbQueryAll($sql);         return $result;      }  

首先,我們對用戶輸入進行檢查(通過一個GET變量傳遞消息id),然后我們執行我們的SQL命令。注意這兒SQL的用法。你需要了解如何使用別名和關聯表。

10、當你只需要一個對象時,使用單例模式

在PHP中相當常見的一種情形時,我們只需要創建一個對象一次,然后在我們的整個程序中使用它。一個很好的例子就是smarty變量,一旦被初始化后就可以在任何地方使用。這種情形的一個很好實現方案就是單例模式。示例代碼如下:

  1. function smartyObject()      {          if ($GLOBALS['config']['SmartyObj'] == 0)          {              $smarty = new SmartyGame();              $GLOBALS['config']['SmartyObj'] = $smarty;          }          else             $smarty = $GLOBALS['config']['SmartyObj'];          return $smarty;      }  

注意,我們擁有一個全局smarty變量(該示例中它在config.php中被初始化),如果它的值為0,我們將創建一個新smarty對象,否則,它意味著該對象已經被創建,我們只需要返回它.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩剧1988在线观看免费完整版| 国产亚洲视频在线| 97视频免费在线观看| 国产日产亚洲精品| 欧美成人精品一区二区| 国产日韩欧美在线观看| 欧美亚洲另类视频| 日韩美女在线观看一区| 欧美一级视频一区二区| 久久伊人免费视频| 国产成人jvid在线播放| 国产精品专区第二| 欧美色视频日本高清在线观看| 日韩中文字幕av| 亚洲风情亚aⅴ在线发布| 日韩av影视综合网| 亚洲精品动漫久久久久| 欧美福利在线观看| 亚洲第一福利网| 欧美视频免费在线观看| 91免费版网站入口| 日韩av综合中文字幕| 国产精品一区二区三区成人| 欧美激情在线视频二区| 日韩欧美成人网| 欧美精品在线视频观看| 日韩欧美高清在线视频| 亚洲国产成人一区| 中文字幕日韩免费视频| 亚洲第一区在线| 91在线高清免费观看| 国产精品www色诱视频| 国产精品对白刺激| 日韩小视频网址| 日本久久久a级免费| 中文字幕日韩欧美在线| 亚洲第一色中文字幕| 欧美一区视频在线| 亚洲自拍偷拍网址| 日韩精品有码在线观看| 国产亚洲精品91在线| 日本成人黄色片| 成人激情在线播放| 国产精品高精视频免费| 亚洲国模精品私拍| 色综合五月天导航| 国产在线视频一区| 亚洲国产一区二区三区在线观看| 国产精品九九久久久久久久| 亚洲成人av片在线观看| 欧美精品18videosex性欧美| 亚洲日本aⅴ片在线观看香蕉| 国产精品视频永久免费播放| 国产精品久久在线观看| 秋霞午夜一区二区| 亚洲黄色有码视频| 91免费观看网站| 92国产精品久久久久首页| 久久99精品久久久久久噜噜| 成人激情视频在线| 亚洲综合中文字幕在线观看| 色妞一区二区三区| 欧美激情videoshd| 午夜精品久久久久久久99黑人| 热久久这里只有| 亚洲九九九在线观看| 亚洲综合中文字幕68页| 亚洲成人黄色网址| 中文欧美在线视频| 亚洲精品久久久久中文字幕欢迎你| 国产999精品久久久影片官网| 97高清免费视频| 亚洲日本中文字幕| 国产精品极品尤物在线观看| 欧美大片在线看| 亚洲天堂av女优| 亚洲综合在线小说| 国产日韩在线一区| 亚洲精品久久久久久下一站| 国产视频亚洲精品| 亚洲第一区第一页| 亚洲色图偷窥自拍| 国产日产欧美精品| 国产一区二区三区网站| 亚洲91精品在线观看| 国产一区二区三区视频免费| 日韩av免费在线看| 国产精品美女午夜av| 2018国产精品视频| 成人免费网视频| 国产91精品久久久久久久| 色偷偷亚洲男人天堂| 午夜精品三级视频福利| 欧美精品videos另类日本| 国产精品视频播放| 亚洲欧美日韩一区在线| 国产日韩欧美在线| 亚洲精品720p| 高跟丝袜欧美一区| 日韩av电影在线免费播放| 日韩美女视频在线观看| 精品久久久久久久久久久久久久| 亚洲欧美制服另类日韩| 日韩精品有码在线观看| 欧美最猛黑人xxxx黑人猛叫黄| 日韩性生活视频| 日韩中文综合网| 日本欧美国产在线| 色综合导航网站| 欧洲精品毛片网站| 欧美大学生性色视频| 日韩综合中文字幕| 亚洲天堂av在线免费观看| 一个人看的www久久| 一区二区欧美久久| 久久中文字幕视频| 国产一区二区三区在线视频| 国产精品私拍pans大尺度在线| 欧美日韩国产在线播放| 亚洲最大av网| 亚洲国产精品久久精品怡红院| 91av在线播放| 黄色精品在线看| 日韩精品中文字幕久久臀| 美女视频久久黄| xxxxx91麻豆| 按摩亚洲人久久| www国产亚洲精品久久网站| 国产精品久久久999| 亚洲精品www久久久久久广东| 久久精品国产电影| 92福利视频午夜1000合集在线观看| 亚洲国产天堂久久综合网| 久久久亚洲网站| 亚洲性视频网址| 精品成人国产在线观看男人呻吟| 国产精品亚洲视频在线观看| 77777亚洲午夜久久多人| 欧美日韩在线视频一区二区| 国产成人精品午夜| 欧美成人午夜影院| 久久99视频免费| 国产精品男人爽免费视频1| 国产在线观看精品一区二区三区| 91精品国产高清久久久久久| 91视频8mav| 精品少妇一区二区30p| 久久精品国产99国产精品澳门| 在线观看亚洲区| 国产精品久久久久久久久久久新郎| 日韩欧美精品免费在线| 超碰91人人草人人干| 日韩av中文字幕在线免费观看| 国产香蕉精品视频一区二区三区| 亚洲片在线观看| 欧美性猛交xxxx免费看漫画| 欧美伊久线香蕉线新在线| 久色乳综合思思在线视频| 中文字幕亚洲无线码a| 精品国产一区二区在线| 亚洲国内精品在线| 欧美成人午夜免费视在线看片| 日韩精品极品在线观看| 亚洲a中文字幕|