溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP程序運(yùn)行流程的示例分析

發(fā)布時(shí)間:2021-09-01 10:48:43 來源:億速云 閱讀:118 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“PHP程序運(yùn)行流程的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PHP程序運(yùn)行流程的示例分析”這篇文章吧。

HTTP協(xié)議與PHP腳本的觸發(fā)
HTTP是一種基于Request/Response的協(xié)議,是支持Web運(yùn)行的協(xié)議基礎(chǔ)。HTTP的客戶端發(fā)送Request
服務(wù)器端,服務(wù)器端返回Response。Request中包含客戶端需要訪問的頁(yè)面的文件名。服務(wù)器端返回該文件名指向的網(wǎng)頁(yè)。如果沒有使用PHP、JavaScript等,HTTP協(xié)議傳輸只能是靜態(tài)的HTML文件。也就是,HTML文件不會(huì)受到用戶行為的影響,內(nèi)容一直保持不變。

PHP程序運(yùn)行流程的示例分析

如果要實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè),就需要使用PHP或JavaScript。PHP是用于服務(wù)器端的編程語言,JavaScript是多用于客戶端的編程語言。

PHP代碼是在服務(wù)器端被執(zhí)行的。用戶訪問一個(gè)包含PHP代碼的網(wǎng)頁(yè)時(shí),發(fā)送Request到服務(wù)器,其中包含網(wǎng)頁(yè)的文件名。服務(wù)器收到Request后,找到文件名指向的文件,發(fā)現(xiàn)其中嵌有PHP代碼,會(huì)調(diào)用PHP解釋器處理該文件,然后將處理后的結(jié)果整理到Response,發(fā)送到客戶端。PHP代碼可以與服務(wù)器端的數(shù)據(jù)庫(kù)或其他資源進(jìn)行交互,或者根據(jù)用戶的操作產(chǎn)生不同的頁(yè)面。

因此,PHP腳本的觸發(fā)是在服務(wù)器收到客戶端的Request。收到一個(gè)Request后,服務(wù)器觸發(fā)一個(gè)PHP腳本;處理完腳本后,返回結(jié)果到客戶端,等待下一個(gè)Request。當(dāng)收到下一個(gè)Request后,服務(wù)器觸發(fā)另一個(gè)(或同一個(gè))PHP腳本。兩次PHP腳本的運(yùn)行是相互獨(dú)立的,第二次腳本的運(yùn)行幾乎不受前一次腳本運(yùn)行的影響。

JavaScript代碼一般是在客戶端被執(zhí)行的,即被瀏覽器所處理。客戶端從服務(wù)器端獲取的是JavaScript代碼,而不是代碼被執(zhí)行后的結(jié)果,然后調(diào)用解釋器執(zhí)行該代碼。

PHP的代碼塊
PHP代碼是可以嵌入到HTML文件中的,經(jīng)常可以在HTML文件中看到散落在各處的PHP代碼塊。我也一直困惑在同一個(gè)HMTL文件中,不同的PHP代碼塊之間是怎樣的關(guān)系。原來PHP是會(huì)忽略兩個(gè)PHP代碼塊之間HTML代碼的。

<head>
  <title>Test PHP Multiple Blocks</title>
</head>
<body>
  <p>This is HTML code.</p>

  <?php
    $var = 1;
    echo "<p>This is PHP code block 1. <br/> \$var=$var </p>";
  ?>

  <p>This is HTML code too.</p>

  <?php
    $var += 1;
    echo "<p>This is PHP code block 2. <br/> \$var=$var</p>" 
  ?>

</body>

代碼中有兩個(gè)PHP代碼塊,它們被HTML代碼隔開了。第1個(gè)PHP代碼塊聲明了1個(gè)變量$var;第2個(gè)代碼塊引用$var,進(jìn)行改變了它的值。用PHP執(zhí)行上述代碼,得到的輸出如下。

<head>
  <title>Test PHP Multiple Blocks</title>
</head>
<body>
  <p>This is HTML code.</p>

  <p>This is PHP code block 1. <br/> $var=1 </p>
  <p>This is HTML code too.</p>

  <p>This is PHP code block 2. <br/> $var=2</p>
</body>

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

  <?php
    $var = 1;
    echo "<p>This is PHP code block 1. <br/> \$var=$var </p>";

    $var += 1;
    echo "<p>This is PHP code block 2. <br/> \$var=$var</p>" 
  ?>

以上是“PHP程序運(yùn)行流程的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI