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

PHP的十個進階技巧_PHP編程

Jun 28, 2017 pm 03:35 PM
php技巧程式設計

 
全球超過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進行測試: 

   phpinfo() ?> 

  把這個檔案儲存到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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
高流量網站的PHP性能調整高流量網站的PHP性能調整May 14, 2025 am 12:13 AM

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

PHP中的依賴注入:初學者的代碼示例PHP中的依賴注入:初學者的代碼示例May 14, 2025 am 12:08 AM

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

PHP性能:是否可以優化應用程序?PHP性能:是否可以優化應用程序?May 14, 2025 am 12:04 AM

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

PHP性能優化:最終指南PHP性能優化:最終指南May 14, 2025 am 12:02 AM

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

PHP依賴注入容器:快速啟動PHP依賴注入容器:快速啟動May 13, 2025 am 12:11 AM

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

PHP中的依賴注入與服務定位器PHP中的依賴注入與服務定位器May 13, 2025 am 12:10 AM

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

PHP性能優化策略。PHP性能優化策略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

PHP電子郵件驗證:確保正確發送電子郵件PHP電子郵件驗證:確保正確發送電子郵件May 13, 2025 am 12:06 AM

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器