2012-08-04 54 views
2

我是網絡編程的新手。我有基本的PHP編程技巧。根據我對PHP的瞭解,它運行在服務器端並生成HTML代碼,服務器端PHP腳本結束,然後生成的HTML代碼發送給我們(我們=客戶端的瀏覽器)。但在一些我在互聯網上遇到的網頁(用PHP編程)中,服務器 - 客戶端交互在頁面完成加載後很長一段時間都會在後臺靜靜地運行。如何讓PHP代碼保持活躍狀態​​?

例如,在Stack Exchange社區中,當我查看新問題時,我發現投票計數正在改變(與其他用戶一樣投票)而無需刷新頁面。這表明背景腳本正在與數據庫通信,對嗎?

這些類型的頁面是由純PHP實現的嗎?
如果是,我認爲PHP腳本必須在生成的HTML代碼發送之前在服務器端完成。這種方法的祕訣是什麼? 如果不是,還需要學習哪些其他編程語言和/或Web技術才能學習它?他們是否將其他技術與PHP結合?

請指導我。

+3

ajax ........... – zerkms 2012-08-04 13:24:29

回答

1

當您似乎需要了解什麼是結束(動態頁面)時,您正在詢問如何結束(如何使頁面變爲動態)。

你基本上對PHP的工作原理是正確的。

據我瞭解關於PHP是,它運行在服務器端和 生成HTML代碼,服務器端的PHP腳本結束,然後是(US =的瀏覽器 生成的HTML代碼發送給我們客戶)。

但是,您忽略了關於網頁如何工作的一件事:對於服務器發送任何內容,例如網頁,必須有來自客戶端的請求。因此,詢問服務器如何在沒有客戶請求的情況下做到這一點會更合適。

爲了回答大家的一些問題:

這些是一種由純PHP實現網頁? - >不,它不是。

如果不是,還需要學習哪些其他編程語言和/或Web技術才能學習它? - >而不是特定的PL或技術,它會更聰明地思考「服務器如何啓動與客戶端(瀏覽器/頁面)的通信?」 (或者使其看起來好像是),因爲這是實現這些頁面的「祕密」(或更合適的關鍵)。你可以找到許多技術,技術,以及兩者的結合(推技術,長輪詢,ajax等)。

他們是否將其他技術與PHP結合? - >是的,與網絡上的大多數內容一樣,動態頁面是許多技術和技術的組合。

我相信你看着你想要在錯誤的角度完成。希望這會讓你走上正軌!

+0

謝謝您的長時間解釋。我有了基本的想法。我會做進一步的研究。 我應該如何編輯我的問題標題,以便像我這樣的其他困惑的人也能輕鬆找到它? – hkBattousai 2012-08-04 16:02:53

0

前端繼續即使在服務器端處理結束使用AJAX後端到comunicate。爲了創建一個動態網站,AJAX可以並且應該與任何後端技術(如JAVA/ASP/PHP/PYTHON等)結合使用。

0

簡短的回答是:你不能。

您在某些網站中看到的持續交互是通過使用稱爲Ajax的Javascript技術實現的,該技術定期(或基於瀏覽器事件,如鼠標單擊)在後臺調用PHP腳本,並根據該腳本執行某些操作響應。

1

沒有一種語言可以構建整個網頁。您看到的現代網頁是使用多種語言生成的。

相關問題