首頁 > 後端開發 > php教程 > PHP的十個進階技巧_PHP編程

PHP的十個進階技巧_PHP編程

微波
發布: 2023-03-11 21:10:01
原創
1923 人瀏覽過

 
全球超過300萬個網路網站的管理員都在使用PHP,使得它成為最普及的伺服器端腳本語言之一。其特點是運行速度快、穩定可靠、跨平台,而且是開放原始碼軟體。隨你使用的程度不同,PHP可以很簡單,也可以很複雜,可以只使用它發送HTML表格元素,還可以在PHP應用程式中整合Java和XML。 

  如果你對PHP有一定的了解或看過一些初步的教材,這些技巧可以擴展你對PHP的認識,使你掌握一些常見的和高級的PHP功能。

一、把PHP安裝為Apache的DSO 
  PHP在Linux/Unix平台上經常與Apache搭配使用,安裝PHP時,有三種安裝方式可供選擇:靜態模式、動態模式( DSO)、CGI二進位模式。 

  由於易於維護和升級,我強烈建議以DSO方式安裝PHP。例如,初次安裝時如果安裝的PHP僅支援資料庫,隨後希望再安裝支援加密的模組,只要運行“make clean”,添加新的設定選項,然後再運行“make”和“make install”即可,一個新的PHP模組就會安裝在Apache中適當的位置上,然後重新啟動Apache,而無需重新編譯Apache。

  以下的步驟將安裝一個全新的Apache,並以DSO方式安裝PHP: 

  1、從Apache軟體基金會得到最新版本的Apache原始碼; 

# 2、把得到的原始碼放到/usr/local/或/opt/目錄下,或是你指定的任意目錄中; 

  3、執行Gunzip對檔案進行解壓縮,得到後綴為.tar的檔案; 

  4、執行下面的指令,把檔案安裝到apache_[version]目錄中: 

   tar -xvf apache_[version].tar 
##  5、」進入/usr/local/apache_[version]目錄(或在步驟4安裝壓縮檔的目錄); 

  6、鍵入下面的指令為編譯Apache作準備,用你自己的路徑替換其中的[path],例如,/usr/local/apache[version],現在已經設定了mod_so的新值,它將允許Apache使用DSO模組; 

  7、回到提示符號狀態後鍵入make,並等待再次回到提示符號狀態; 

  8、執行「make install」指令。 

  至此,Apache已經安裝完畢,系統將會回到提示符號狀態。接下來我們開始安裝PHP: 

  1、在PHP首頁的下載區中找到最新版本的連結; 

  2、把
檔案下載到適當的目錄中,例如/usr/local/或/opt/或你指定的任意目錄中; 
#  3、執行Gunzip對檔案解壓縮,得到後綴為.tar的檔案; 

# 4.執行下面的指令把檔案安裝在php-[version]目錄中: 

   tar -xvf php-[version] 

#  5、進入/usr/local/php-[version ]目錄或在步驟4中指定的目錄; 

  至此,已經作好了以DSO方式安裝PHP的
準備工作,唯一需要修改的設定選項是with-apxs(這是Apache的bin目錄中的一個檔案)。為了得到較高的效能,我沒有安裝對MySQL的支援模組。
  ./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs] 

  6、回到提示符號狀態後執行make指令,等待重新返回提示符號狀態; 

  7、執行make install指令。 

  至此,系統以DSO方式在Apache的模組目錄中安裝了PHP,並對Apache的httpd.conf檔作適當的修改後回到提示符號狀態。回到提示符號狀態後,你還需要對Apache的httpd.conf檔做一些修改。

  1、找到包含有ServerAdmin的一行,加入你的電子郵件地址,如下: 

   ServerAdmin you@yourdomain.com 

  2、找到以ServerName開頭的行,把它改為真正的值,例如: 

   ServerName localhost 

  3、找到內容如下所示的小節: 

 for# And , use: 

  # 

  #AddType application/x-httpd-php .php 

  #AddType application/x-httpd-php- ##  修改這些行的內容,使PHP 4.0的AddType不再成為註釋,並添加希望在PHP中使用的文件後綴名,上面的內容變為如下所示的內容: 

  # And forforforfor PHP 4.x, use: 

  # 

AddType application/x-httpd-php .php .phtml 

#  AddType application/x-httpd-php-source .phps 

#  保存檔案,回到上一層目錄,執行下面的命令重新啟動Apache: 

  ./bin/apachectl start 

  如果在啟動時沒有出現錯誤提示訊息,就可以透過建立一個名為phpinfo.php的只有如下所示一行內容​​的文件,對安裝的Apache、PHP進行測試: 

   

  把這個檔案儲存到Apache的文檔根目錄(htdocs)中,然後開啟瀏覽器,鍵入http://localhost/phpinfo.php位址,螢幕上就會出現許多的變數和它們的值。

  如果要重新設定PHP,需要再次執行make clean指令,然後執行有一系列選項的./configure指令,然後再執行make和make install指令,Apache的目錄模組中就會出現一個新的模組,只要再重新啟動Apache載入這個新的模組,就一切OK了。

二、使用PHP本身的對話 
  PHP 4.0中最令人期待的特性應該是對話的支持,PHP 3.0的使用者必須使用第三方的軟體否則就不能使用對話,不支持對話一直是PHP最大的缺點之一。 

  只要使用者在瀏覽你的網站,你就可以利用對話來維護與特定使用者相關的變量,而無需建立多個cookie、使用隱藏表格欄位或將資訊儲存在資料庫中。

  在一個網頁上啟動一個對話,就會讓PHP引擎知道你想啟動一個對話(如果還沒啟動)或繼續目前的對話: 

session_start(); 

  啟動一個對話將透過cookie向使用者發送一個識別字串(例如940f8b05a40d5119c030c9c7745aead9),在伺服器端,會建立一個與識別字串相符的臨時檔案,例如sess_940f8515a40d註冊的對話變數以及它們的值。 

  用來顯示對話的作用的最常見的例子是存取計數器。啟動PHP模組,確保PHP程式碼是檔案的第一行,在PHP程式碼之前不要有空格、HTML程式碼和其他的程式碼。因為對話會傳送一個頭部,所以如果在session_start()之前有空格和HTML程式碼,就會得到一個出錯訊息。

  
#  // 如果還不存在一個針對某用戶的用戶,則啟動一個對話: 

#  session_start(); 

    session_start(); 

   然後  然後註冊一個名字為count的變數: 

  session_register('count'); 

  註冊對話變數後,只要對話存在,名字為count的變數也就存在。現在,count變數還沒有被賦值,如果對它執行加1操作,它的值就變成了1。

  $count++; 

  把上述內容綜合在一塊兒,如果還沒有啟動一個對話,就會啟動一個對話;如果不存在一個對話id,就為用戶指定一個好了,註冊一個名字為$count的變量,對$count執行加1操作表示用戶已經首次訪問了該網頁。

  要知道使用者在目前的對話中存取本頁面的次數,只要顯示$count變數的值即可: 

  echo "

You've been here $count times .

"; 
##  全部的存取計數器代碼如下所示: 

  
  session_start()ister 'count'); 

  $count++; 

#  echo "

You've been here $count times.

";  #here $count times.

";  #here $count times.

";  # ? ; 

  如果重新載入上述的腳本文件,就會發現變數count的值增加了1,很酷吧。

  也可以在對話中註冊一個數組變量,假設我們註冊了一個名字為$faves的變數: 

  $faves = array ('chocolate','coffee','beer' ,'linux'); 

  可以像註冊一個簡單變數那樣註冊一個陣列變數: 

  session_register('faves'); 

  session_register('faves'); 

  session_register('faves'); 

  當變數與引用簡單變數沒有什麼二樣,如果一個使用者在網頁上指出在生活中的愛好時,可以把他的愛好註冊到一個被稱作$faves的數組變數中,然後可以在另一個網頁中很方便地把這些愛好顯示出來: 

  
  session_start(); 
###echo "My user likes: 

  
    "; 

      while (list(,$v) = each ($faves)))#{  #list(,$v) = each ($faves))# #&〠 li>$v"; } 

      echo "
"; 

  ?> 

#  然後你就得到了一個關於使用者的嗜好清單。

  對話變數不能被查詢字串覆蓋,也就是說我們不能輸入http:///www.yourdomain.com/yourscript.php?count=56給註冊變數$count指定一個新值,這一點對於安全性很重要:只能在伺服器端的腳本中刪除一個沒有註冊的對話變數。

  如果要完全刪除一個對話變量,首先需要從系統中註銷它: 

  session_unregister('count'); 

  要完全刪除一個對話變數的腳本是刪除一個對話變數的腳本是非常簡單,如下所示: 

  session_destroy(); 

  使用對話變數可以減少存取資料庫的頻率,使程式碼更加清晰,而且可以減少對使用者發送的cookie的數量,它是最簡單的方法了。


目前1/3頁 

1

23下一頁閱讀全文#

以上是PHP的十個進階技巧_PHP編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板