簡單解析PHP程式的運行流程,解析php流程_PHP教程

來源:互聯網
上載者:User

簡單解析PHP程式的運行流程,解析php流程


一直想瞭解Web編程的技術。PHP是進行Web編程重要的一種語言,書上總是說,PHP是用於伺服器端的程式設計語言。但是,實在不能理解它是怎麼用於伺服器端編程,如何被運行。也看過一些PHP的教程,大多是介紹文法,卻沒有給出前面的問題解答。最近東拼西湊的看了一些東西,終於對PHP如何運行有了一些瞭解。

HTTP協議與PHP指令碼的觸發
HTTP是一種基於Request/Response的協議,是支援Web啟動並執行協議基礎。HTTP的用戶端發送Request
到伺服器端,伺服器端返回Response。Request中包含用戶端需要訪問的頁面的檔案名稱。伺服器端返回該檔案名稱指向的網頁。如果沒有使用PHP、JavaScript等,HTTP協議傳輸只能是靜態HTML檔案。也就是,HTML檔案不會受到使用者行為的影響,內容一直保持不變。

如果要實現動態網頁,就需要使用PHP或JavaScript。PHP是用於伺服器端的程式設計語言,JavaScript是多用於用戶端的程式設計語言。

PHP代碼是在伺服器端被執行的。使用者訪問一個包含PHP代碼的網頁時,發送Request到伺服器,其中包含網頁的檔案名稱。伺服器收到Request後,找到檔案名稱指向的檔案,發現其中嵌有PHP代碼,會調用PHP解譯器處理該檔案,然後將處理後的結果整理到Response,發送到用戶端。PHP代碼可以與伺服器端的資料庫或其他資源進行互動,或者根據使用者的操作產生不同的頁面。

因此,PHP指令碼的觸發是在伺服器收到用戶端的Request。收到一個Request後,伺服器觸發一個PHP指令碼;處理完指令碼後,返回結果到用戶端,等待下一個Request。當收到下一個Request後,伺服器觸發另一個(或同一個)PHP指令碼。兩次PHP指令碼的運行是相互獨立的,第二次指令碼的運行幾乎不受前一次指令碼啟動並執行影響。

JavaScript代碼一般是在用戶端被執行的,即被瀏覽器所處理。用戶端從伺服器端擷取的是JavaScript代碼,而不是代碼被執行後的結果,然後調用解譯器執行該代碼。

PHP的代碼塊
PHP代碼是可以嵌入到HTML檔案中的,經常可以在HTML檔案中看到散落在各處的PHP代碼塊。我也一直困惑在同一個HMTL檔案中,不同的PHP代碼塊之間是怎樣的關係。原來PHP是會忽略兩個PHP代碼塊之間HTML代碼的。

  Test PHP Multiple Blocks  

This is HTML code.

<?php $var = 1; echo "

This is PHP code block 1.
\$var=$var

"; ?>

This is HTML code too.

<?php $var += 1; echo "

This is PHP code block 2.
\$var=$var

" ?>

代碼中有兩個PHP代碼塊,它們被HTML代碼隔開了。第1個PHP代碼塊聲明了1個變數$var;第2個代碼區塊引述$var,進行改變了它的值。用PHP執行上述代碼,得到的輸出如下。

  Test PHP Multiple Blocks  

This is HTML code.

This is PHP code block 1.
$var=1

This is HTML code too.

This is PHP code block 2.
$var=2

第2個代碼塊是可以引用$var的。雖然被HTML代碼隔開了,但是兩段代碼的執行完全忽略了HTML部分。PHP的輸出與下面沒有被HTML隔開的PHP代碼是一樣的,前者只是在PHP輸出結果之間插入了相應的HTML代碼。

  <?php    $var = 1;    echo "

This is PHP code block 1.
\$var=$var

"; $var += 1; echo "

This is PHP code block 2.
\$var=$var

" ?>

http://www.bkjia.com/PHPjc/1136604.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1136604.htmlTechArticle簡單解析PHP程式的運行流程,解析php流程 一直想瞭解Web編程的技術。PHP是進行Web編程重要的一種語言,書上總是說,PHP是用於伺服器端的編...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.