php相關利用技術簡單總結(php需要掌握的技術)

  • 1、PHP應用中常用的9大緩存技術?
  • 2、3.PHP核心技術
  • 3、php的優點總結 php有哪些優點

一、全頁面靜態化緩存

也就是將頁面全部生成html靜態頁面,用戶訪問時直接訪問的靜態頁面,而不會去走php伺服器解析的流程。此種方式,在CMS系統中比較常見,比如dedecms;

一種比較常用的實現方式是用輸出緩存:

Ob_start()******要運行的代碼*******$content=Ob_get_contents();****將緩存內容寫入html文件*****Ob_end_clean();

二、數據緩存

顧名思義,就是緩存數據的一種方式;比如,商城中的某個商品信息,當用商品id去請求時,就會得出包括店鋪信息、商品信息等數據,此時就可以將這些數據緩存到一個php文件中,文件名包含商品id來建一個唯一標示;下一次有人想查看這個商品時,首先就直接調這個文件裡面的信息,而不用再去資料庫查詢;其實緩存文件中緩存的就是一個php數組之類;

Ecmall商城系統裡面就用了這種方式;

三、查詢緩存

其實這跟數據緩存是一個思路,就是根據查詢語句來緩存;將查詢得到的數據緩存在一個文件中,下次遇到相同的查詢時,就直接先從這個文件裡面調數據,不會再去查資料庫;但此處的緩存文件名可能就需要以查詢語句為基點來建立唯一標示;

按時間變更進行緩存

就是對於緩存文件您需要設一個有效時間,在這個有效時間內,相同的訪問才會先取緩存文件的內容,但是超過設定的緩存時間,就需要重新從資料庫中獲取數據,並生產最新的緩存文件;比如,我將我們商城的首頁就是設置2個小時更新一次。

四、頁面部分緩存

該種方式,是將一個頁面中不經常變的部分進行靜態緩存,而經常變化的塊不緩存,最後組裝在一起顯示;可以使用類似於ob_get_contents的方式實現,也可以利用類似ESI之類的頁面片段緩存策略,使其用來做動態頁面中相對靜態的片段部分的緩存。

該種方式可以用於如商城中的商品頁;

五、Opcode緩存

首先php代碼被解析為Tokens,然後再編譯為Opcode碼,最後執行Opcode碼,返回結果;所以,對於相同的php文件,第一次運行時可以緩存其Opcode碼,下次再執行這個頁面時,直接會去找到緩存下的opcode碼,直接執行最後一步,而不再需要中間的步驟了。

比較知名的是XCache、TurckMMCache、PHPAccelerator等。

六、按內容變更進行緩存

這個也並非獨立的緩存技術,需結合著用;就是當資料庫內容被修改時,即刻更新緩存文件;

比如,一個人流量很大的商城,商品很多,商品表必然比較大,這表的壓力也比較重;我們就可以對商品顯示頁進行頁面緩存;

當商家在後台修改這個商品的信息時,點擊保存,我們同時就更新緩存文件;那麼,買家訪問這個商品信息時,實際問的是一個靜態頁面,而不需要再去訪問資料庫;

試想,如果對商品頁不緩存,那麼每次訪問一個商品就要去資料庫查一次,如果有10萬人在線瀏覽商品,那伺服器壓力就大了;

七、內存式緩存

提到這個,可能大家想到的首先就是Memcached;memcached是高性能的分散式內存緩存伺服器。一般的使用目的是,通過緩存資料庫查詢結果,減少資料庫訪問次數,以提高動態Web應用的速度、提高可擴展性。

它就是將需要緩存的信息,緩存到系統內存中,需要獲取信息時,直接到內存中取;比較常用的方式就是key_value方式;

connect($memcachehost,$memcacheport)ordie(“Couldnotconnect”);$memcache-set(‘key’,’緩存的內容’);$get=$memcache-get($key);//獲取信息?

八、apache緩存模塊

apache安裝完以後,是不允許被cache的。雲南IT培訓認為如果外接了cache或squid伺服器要求進行web加速的話,就需要在htttpd.conf里進行設置,當然前提是在安裝apache的時候要激活mod_cache的模塊。

Cookie 和 session 是兩種不同的存儲機制。cookie 是從一個外部頁面到下一個頁面的數據傳遞的方法,它一般是存儲在客戶端的。Session 是讓數據在頁面當中具有持續有效的一個方法。他一般是存儲在伺服器端。

Cookie 是一種在客戶瀏覽器端存儲數據,並且以此來去跟蹤和識別用戶的一種機制。簡單的說呢,cookie 是 Web 伺服器暫時存儲在用戶的硬碟上的一個文本文件。

web 伺服器可以通過 Cookie 包含的信息來篩選或維護這些信息。用來判斷 HTTP 傳輸的狀態。

在 PHP 中通過 setcookie()函數創建 Cookie,在創建 Cookie 之前,要了解 Cookie 是 HTTP 頭標的組成部分。

通過超全局變數數組$_COOKIE[ ]來讀取瀏覽器端的 Cookie 值

是自動刪除Cookie數據,如果設置了失效時間,瀏覽器會記住Cookie數據,即使重啟計算機,只要時間不到,都依然有效。

1.使用 setcookie()函數刪除 Cookie

2.在瀏覽器中手動刪除

如果 Cookie 不設定失效時間,就表示它的生命周期,就為瀏覽器會話的期間的這個時間。只要關閉瀏覽器,Cookie 就會自動消失。這種 cookie 被稱之為叫會話 cookie。一般情況下,啊,不存在硬碟上的,而是保存在這個內存裡邊。

如果設置失效時間,瀏覽器會把 cookie 保存到硬碟上,再次打開瀏覽器的時候,依然會有效,只要時間未過期,就一直有效。直到到達有效時間。

雖然,cookie 可以長期保存在客戶端的瀏覽器當中。但是瀏覽器最多允許存儲 300 個 cookie 文件。而且每一個 Cookie 文件支持最大容量只有 4kb。每一個域名最多只支持 20 個 cookie。如果達到限制,瀏覽器會自動隨機的刪除 cookie 文件。

Session 在翻譯的時候呢也翻譯為「會話」。他原本的意思就是指,有始有終的一系列的動作或者消息。比如你打電話的時候從拿起電話撥電話號碼一直到掛斷電話這一系列的過程就可以稱之為一個 Session。

啟動一個 session 會話時,會生成一個隨機且唯一的 session_id。也就是 session 的文件名。session_id 存儲在伺服器的內存中。當你關閉頁面的時候,這個 id 會自動註銷。重新再登錄這個頁面的時候呢,會再次生成一個隨機且唯一的 id。

創建一個會話需要的步驟

啟動會話-註冊會話-使用會話-刪除會話

1.啟動會話 註冊會話

啟動 PHP 會話的方式有兩種方式:1、使用 session_start()函數,2.使用 session_register()函數為會話創建一個變數來隱含的啟動會話

3.刪除會話

1.刪除單個

2.刪除多個

3.結束當前會話

1.session_set_cookie_params() 設置 session 的失效時間,這個函數是 Session 結合 Cookie 設置失效時間。

此函數在一些瀏覽器上會出現問題。所以一般建議手動設置。

2.使用 setcookie() 可以設置 Session 的失效時間,

使用 GD2 函數庫可以實現對各種圖形圖像的處理,先使用 GD2 函數庫來創建畫布。通過 imagecreate()實現.

使用 imageTTFText()函數將文字以 TTF 字體輸出在圖像中。 1.使用 header()函數定義輸出的圖像類型。

2.imagecreatefromjpeg()函數載入圖片。

3.imagecolorallocate()函數設置輸出字體顏色。 4.定義輸出的中文字元串所使用的字體。 5.通過 iconv()函數對輸出的中文字元串的編碼格式進行轉換。 6.使用 imageTTFText()函數向圖片中添加文字。 7.創建圖像,釋放資源。

文件處理包括讀取、關閉、重寫等。

打開/關閉文件使用 fopen()函數和 fclose()函數。(千萬小心,別誤刪了文件)

1.打開文件/關閉文件

1.從文件中讀取數據

2.文件寫入

php 除了可以對文件進行讀寫之外,對文件本身同樣也可以進行操作。比如說複製重命名,查看修改日期,等等都可以。

1.打開目錄

使用 opendir()函數打開目錄

2.關閉目錄

使用 closedir()函數關閉目錄

1.使用 scandir()函數

2.readdir() 函數

chmod($pathname,許可權);

許可權分別使用3個值:

要想去順利地實現這個上傳功能,我們要在php.ini這個文件裡面去修改它的配置.

$_FILES變數它存儲的是上傳文件的相關信息。對於我們去完成上傳文件的這個功能提供一些參數信息。

先在a.html 頁面完成表單元素的創建,使用input type=”file”元素提供上傳文件的入口。

move_uploaded_file(string filename,string destinationnpath)函數上傳文件存儲到指定的位置。

創建upload.php 文件用來處理客戶端上傳過來的文件的信息,包括文件的存儲。

PHP優點:

1.入門快,有其它語言基礎的程序員二周左右的時間就可以入門,一個月左右的時間基本上就可以開發簡單的項目了。

2.開發成本低,PHP最經典的組合就是:Linux + Apache + MySQL + PHP。非常適合開發中小型的web應用,因為上手容易,所以開發的速度比較快。而且所有的軟體都是開源免費的,可以減少投入。

3.PHP是解釋性的腳本語言,寫完代碼以後即可以執行,不像c,java,c++等語言還需要去編譯執行,相對來說比較節省時間。

4.相對來說,PHP程序員的薪水的平均工資要比c,c++,java程序員的平均工資要低一些,特別是對於中小型企業來說可以節約一些成本。

5.配置及部署相對簡單一些,對比JAVA開發來說,JAVA開發的配置就複雜多了,什麼Structs、Spring、Hibernate、Tomcat等等很多地方都需要配置,甚至你在程序中每寫一個SQL語句都需要先在Hibernate中配置一下,有時重新部署一個class文件或jar文件還可能需要重啟Web伺服器(Tomcat或Resin或其它的Web伺服器)使新部署的庫文件生效。

PHP開發中主要是PHP自身的配置文件及Web伺服器的配置(如Apache或Nginx或Lighttpd等),相對於JAVA來說還是簡單一些,而且新修改了文件以後不需要重新啟動Web即可以立即生效。

6.有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony、thinkphp等,開源論壇有Discuz!、Phpwind等,開源博客WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。

內容擴展

1. 跨平台,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,並且和很多免費的平台結合非常省錢,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換 PostgreSQL或者Oracle,支持N種資料庫。(N = 10)

2. 語法簡單,如果有學習C和Perl的很容易上手,並且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。

3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。

4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做資料庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問資料庫。

5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。

6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。

7. 有成熟的社區來支持PHP的開發。

8. 目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。

9. 有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客 WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。

原創文章,作者:SIOSO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126589.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SIOSO的頭像SIOSO
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python熱重載技術

    Python熱重載技術是現代編程的關鍵功能之一。它可以幫助我們在程序運行的過程中,更新代碼而無需重新啟動程序。本文將會全方位地介紹Python熱重載的實現方法和應用場景。 一、實現…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python包絡平滑技術解析

    本文將從以下幾個方面對Python包絡平滑技術進行詳細的闡述,包括: 什麼是包絡平滑技術? Python中使用包絡平滑技術的方法有哪些? 包絡平滑技術在具體應用中的實際效果 一、包…

    編程 2025-04-29
  • parent.$.dialog是什麼技術的語法

    parent.$.dialog是一種基於jQuery插件的彈出式對話框技術,它提供了一個方便快捷的方式來創建各種類型和樣式的彈出式對話框。它是對於在網站開發中常見的彈窗、提示框等交…

    編程 2025-04-28
  • 微信小程序重構H5技術方案設計 Github

    本文旨在探討如何在微信小程序中重構H5技術方案,以及如何結合Github進行代碼存儲和版本管理。我們將從以下幾個方面進行討論: 一、小程序與H5技術對比 微信小程序與H5技術都可以…

    編程 2025-04-28
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28

發表回復

登錄後才能評論