一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 簡單解析PHP程序的運行流程

簡單解析PHP程序的運行流程

2021-01-29 16:26catHeart PHP教程

PHP代碼被PHP解釋器解釋后只可運行于服務器上的Web端,這里我們來簡單解析PHP程序的運行流程,需要的朋友可以參考下

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

http協議與php腳本的觸發
http是一種基于request/response的協議,是支持web運行的協議基礎。http的客戶端發送request
到服務器端,服務器端返回response。request中包含客戶端需要訪問的頁面的文件名。服務器端返回該文件名指向的網頁。如果沒有使用php、javascript等,http協議傳輸只能是靜態的html文件。也就是,html文件不會受到用戶行為的影響,內容一直保持不變。

簡單解析PHP程序的運行流程

如果要實現動態網頁,就需要使用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代碼的。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<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>

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

?
1
2
3
4
5
6
7
8
9
10
11
<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個代碼塊是可以引用$var的。雖然被html代碼隔開了,但是兩段代碼的執行完全忽略了html部分。php的輸出與下面沒有被html隔開的php代碼是一樣的,前者只是在php輸出結果之間插入了相應的html代碼。

?
1
2
3
4
5
6
7
<?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>"
?>

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久影院色老大 | 青青草原伊人网 | 4455永久在线视频观看 | 91看片淫黄大片在看 | 日本在线观看www免费 | 午夜一区二区免费视频 | 糖心在线观看 | 日本一道本视频 | 小伙无套内射老女人 | 国产精品久久久久久久久齐齐 | 第一次不是你高清在线观看 | 亚洲免费大全 | 91精品国产综合久久香蕉 | 日韩视频在线免费观看 | 小小水蜜桃3视频在线观看 小鸟酱喷水 | 国产成人99精品免费观看 | 婷婷综合缴情亚洲五月伊 | 国自产拍在线天天更新91 | 厨房里摸着乳丰满在线观看 | 久久五月综合婷婷中文云霸高清 | 白白国产永久免费视频 | 日本一区二区免费在线观看 | 亚洲第一se情网站 | 欧美一级在线 | 亚洲 色 欧美 爱 视频 日韩 | 日韩在线1| 国产精品久热 | h肉动漫在线视频无修无遮挡 | 毛片免费全部免费观看 | 免费毛片大全 | 国产精品suv一区二区 | 精品91自产拍在线观看99re | 97蝌蚪自拍自窝 | 国产真实一区二区三区 | 日韩在线成人 | 午夜国产精品 | 成人日批视频 | 国产黄频 | 亚洲AVAV天堂AV在线网爱情 | 男人叼女人的痛爽视频免费 | 国产精品久久久久久影视 |