1. 程式人生 > >第一次玩php程式

第一次玩php程式

        php不是“pai huang pian”, 而是“PHP Hypertext processor”,  這裡採用了遞迴定義, 和GNU的遞迴定義頗為類似。 

        先開個小差, 說說別的。早些時候, 工作中用到過少量html/js/css, 其實, html/js/css非常類似於於桌面軟體開發中的“控制元件/控制元件行為/控制元件屬性”。 html中的標籤就類似於Windows的控制元件, js類似於控制元件的行為, css類似於控制元件的屬性。 事實就是醬紫的。

        在PC上, html/js/css可以被本地瀏覽器執行。在嵌入式中, html/js/css可以被嵌入式器執行。 在手機中, html/js/css可以被手機本地瀏覽器執行。這幾種情況都不涉及到網路傳輸。 

        還記得大家經常在PC上訪問無線路由器裡面的頁面嗎? 此時, 涉及到網路傳輸, 真正的頁面存在於無線路由器中, PC訪問的時候, 無線路由器的頁面傳輸到PC本地, 然後PC上的瀏覽器進行解讀並顯示。 大家平時登入百度, 就是類似的道理, 涉及到網路傳輸。

        無論如上哪種情況, html/js/css都可以看成是最終被本地PC瀏覽器執行。

        php就有點不一樣了, 雖然和js同屬指令碼, 但php執行在web server端, 如下:


        我們在PC上訪問某php後, 實際上會觸發web server(Apache)對php檔案的執行, 動態生成html, 返回給PC上的瀏覽器, 並在瀏覽器中顯示。 眼尖的朋友肯定發現了, 這個php檔案貌似和我們之前說過的CGI很類似啊, 沒錯, 在上圖中, php實際上就是CGI的角色。 我們知道, CGI可以用多種語言來實現, 比如我們之前介紹過的C/C++, 還有今天要介紹的PHP, 當然, 也可以用別的語言。

        好了, 說一千道一萬, 還不如搞個php程式來玩一下。 新手搭建Apache環境可能會有困難, 那就用線上工具吧, 比如:http://tool.runoob.com/index.php/Home/Index/compile/language/php

         好, 我們來看看:

<?php

echo "hello php\n";

$sum = 0;
for($i = 1; $i <= 100; $i++)
{
	$sum += $i;
}

var_dump($sum);
?>
      結果為:

        很簡單。 但只說一點, 在php中, $sum是一個完整的東西, 也就是變數, 是不可分割的, 它可以做左值, 也可以做右值。 回憶一下我們學過的linux shell,  你就發現, 在linux shell中, $sum只能做右值, 不能做左值。 所以, 千萬不要混淆地以為是一個東東。

        OK, php就是如此簡單。