標籤:
本節內容
1.PHP介紹
2.第一個PHP指令碼程式
3.PHP語言標記
4.指令分割符
5.程式注釋
6.在程式中使用空白符的處理
7.變數
8.變數的類型
9.資料類型之間相互轉換
10.常量
一、PHP介紹
1.什麼是PHP?
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本前置處理器”)是一種通用開源指令碼語言。文法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的文法混合了C、Java、Perl以及PHP自創的文法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態網頁面與其他的程式設計語言相比,PHP是將程式嵌入到HTML(標準通用標記語言 (SGML)下的一個應用)文檔中去執行,執行效率比完全產生HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和最佳化代碼運行,使代碼運行更快。
2.PHP 能夠做什嗎?
- PHP 能夠產生動態網頁面內容
- PHP 能夠建立、開啟、讀取、寫入、刪除以及關閉伺服器上的檔案
- PHP 能夠接收表單資料
- PHP 能夠發送並取回 cookies
- PHP 能夠添加、刪除、修改資料庫中的資料
- PHP 能夠限制使用者訪問網站中的某些頁面
- PHP 能夠對資料進行加密
- 通過 PHP,您可以不受限於只輸出 HTML。您還能夠輸出映像、PDF 檔案、甚至 Flash 影片。您也可以輸出任何文本,比如 XHTML 和 XML。
3.PHP的曆史
PHP 繼承自一個老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 建立,最初只是一套簡單的 Perl 指令碼,用來跟蹤訪問他首頁的人們的資訊。它給這一套指令碼取名為“Personal Home Page Tools”。隨著更多功能需求的增加,Rasmus 寫了一個更大的 C 語言的實現,它可以訪問資料庫,可以讓使用者開發簡單的動態 Web 程式。Rasmus » 發布了 PHP/FI 的原始碼,以便每個人都可以使用它,同時大家也可以修正它的 Bug 並且改進它的原始碼。
PHP/FI
PHP/FI,一個專為個人首頁/表單提供解釋程式的程式,已經包含了今天 PHP 的一些準系統。它有著 Perl 樣式的變數,自動解釋表單變數,並可以嵌入 HTML。文法本身與 Perl 很相似,但是它很有限,很簡單,還稍微有些不協調。
PHP/FI 2.0
到1997年,PHP/FI 2.0,也就是它的 C 語言實現的第二版在全世界已經有幾千個使用者(估計)和大約 50,000 個網域名稱安裝,大約是 Internet 所有網域名稱的 1%。但是那時只有幾個人在為該工程撰寫少量當代碼,它仍然只是一個人的工程。
PHP/FI 2.0 在經曆了數個 beta 版本的發布後於 1997 年 11 月發布了官方正式版本。不久,PHP 3.0 的第一個 alpha 版本的發布,PHP 從此走向了成功。
PHP 3
PHP 3.0 是類似於當今 PHP 文法結構的第一個版本。Andi Gutmans 和 Zeev Suraski 在為一所大學的項目中開發電子商務程式時發現 PHP/FI 2.0 功能明顯不足,於是他們重寫了代碼。這就是 PHP 3.0。經過Andi,Rasmus 和 Zeev 一系列的努力,考慮到 PHP/FI 已存在的使用者群,他們決定聯合發布 PHP 3.0 作為 PHP/FI 2.0 的官方後繼版本。而 PHP/FI 2.0 的進一步開發幾乎終止了。
PHP 3.0 的一個最強大的功能是它的可擴充性。除了給終端使用者提供資料庫、協議和 API 的基礎結構,它的可擴充性還吸引了大量的開發人員加入並提交新的模組。後來證實,這是 PHP 3.0 取得巨大成功的關鍵。PHP 3.0 中的其它關鍵功能包括物件導向的支援和更強大和協調的文法結構。
這個全新的語言伴隨著一個新的名稱發布。它從 PHP/FI 2.0 的名稱中移去了暗含“本語言只限於個人使用”的部分。它被命名為簡單的縮寫“PHP”。這是一種遞迴的縮寫,它的全稱是——PHP: Hypertext Preprocessor。
1998 年末,PHP 的安裝人數幾近 10,000,有大約 100,000 個網站回報他們使用了 PHP。在 PHP 3.0 的頂峰,Internet 上 10% 的 網頁伺服器上都安裝了它。
約九個月的公開測試後,官方於 1998 年 6 月正式發布 PHP 3.0。
PHP 4
1998 年的冬天,PHP 3.0 官方發布不久,Andi Gutmans 和 Zeev Suraski 開始重新編寫 PHP 代碼。設計目標是增強複雜程式運行時的效能和 PHP 自身代碼的模組性。PHP 3.0 的新功能和廣泛的第三方資料庫、API的支援使得這樣程式的編寫成為可能,但是 PHP 3.0 沒有高效處理如此複雜程式的能力。
新的被稱為“Zend Engine”(這是 Zeev 和 Andi 的縮寫)的引擎,成功的實現了設計目標,並在 1999 年中期首次引入 PHP。基於該引擎並結合了更多新功能的 PHP 4.0,在 PHP 3.0 發布兩年後,於2000年5月發布了官方正式版本。除了更高的效能以外,PHP 4.0 還包含了其它一些關鍵功能,比如:支援更多的 網頁伺服器;HTTP Sessions 支援;輸出緩衝;更安全的處理使用者輸入的方法;一些新的語言結構。
今天,已經有 10,000 名開發人員(估計)和幾百萬網站回報已安裝了 PHP,占整個 網際網路網域名稱的 20%。
PHP 的開發小組有很多優秀的開發人員,同時還有大量的優秀人才在進行 PHP 相關工程的開發工作,如 PEAR 和 PHP 文檔的工程。
PHP 5
PHP 5 在長時間的開發及多個預發布版本後,於 2004 年 7 月發布正式版本。它的核心是 Zend 引擎 2 代,引入了新的物件模型和大量新功能。
二、第一個PHP指令碼程式
例:
<?phpprint (HelloWorld!....);?>
三、PHP語言標記
1.xml風格(標準風格推薦使用)
<?php echo"這是xml風格的標記"; ?>
xml風格的標記是常用的標記,也是推薦使用的標記,伺服器不能禁用,該風格的標記在xml,xhtml中都可以使用。
2.指令碼風格
<script languange="php"> echo‘這是指令碼風格的標記‘; </script>
3.簡短風格
<?這是簡短風格的標記;?>
註:需要在php.ini中設定short _open_tag=on,預設是on,或者在 PHP 編譯時間加入了 –enable-short-tags 選項。(PHP 3版本還可以通過 short_tags() 函數啟用使用短標記。)
4.asp風格
<% echo‘這是asp風格的標記‘; %>
註:預設是不支援的,需要在 php.ini 設定檔中開啟 asp_tags = on,ASP 風格標記的支援是 3.0.4 版添加的。
在以下情況應避免使用短標記:
開發需要發行的程式或者庫,或者在使用者不能控制的伺服器上開發。因為目標伺服器可能不支援短標記。為了代碼的移植及發行,確保不要使用短標記。
四、指令分割符
同 C 或 Perl 一樣,PHP 需要在每個語句後用分號結束指令。一段 PHP 代碼中的結束標記隱含表示了一個分號;在一個 PHP 程式碼片段中的最後一行可以不用分號結束。如果後面還有新行,則程式碼片段的結束標記包含了行結束。
<?php echo "This is a test";?><?php echo "This is a test" ?><?php echo ‘We omitted the last closing tag‘;
註:檔案末尾的 PHP 程式碼片段結束標記可以不要,有些情況下當使用 include() 或者 require() 時省略掉會更好些,這樣不期望的白空格就不會出現在檔案末尾,之後仍然可以輸出響應標題。在使用輸出緩衝時也很便利,就不會看到由包含檔案產生的不期望的白空格。
五、程式注釋
對於閱讀代碼的人來說,注釋其實就相當於代碼的解釋和說明。注釋可以用來解釋指令碼的用途、指令碼編寫人、為什麼要按如此的方法編寫代碼、上一次修改的時間等等。PHP支援C、C++和Shell指令碼風格的注釋,如下:
//... ... 單行注釋/* ... ... */多行注釋 (注意:不能嵌套)# ... ... 指令碼注釋
程式員在編程時使用注釋是一種良好的習慣,優點:
寫協助文檔
偵錯工具
注意: 注釋要寫在代碼的上面或是右邊
六、在程式中使用空白符的處理
一般來說,空白符(包括空格、Tab定位字元、換行)在PHP中無關緊要,會被PHP引擎忽略。可以將一個語句展開成任意行,或者將語句緊縮在一行。空格與空行的合理運用(通過排列分配、縮排等)可以增強程式碼的清晰性與可讀性,如果不合理運用,便會適得其反。空行將邏輯相關的程式碼片段分隔開,以提高可讀性。
1.下列情況應該總是使用兩個空行
- 一個源檔案的兩個程式碼片段之間。
- 兩個類的聲明之間
2.下列情況應該總是使用一個空行
- 兩個函式宣告之間
- 函數內的局部變數和函數的第一條語句之間
- 塊注釋或單行注釋之前
- 一個函數內的兩個邏輯程式碼片段之間,用以提高可讀性
3.空格的應用規則是可以通過代碼的縮排提高可讀性
- 空格一般應用於關鍵字與括弧之間,不過需要注意的是,函數名稱與左括弧之間不應該用空格分開
- 一般在函數的參數列表中的逗號後面插入空格
- 數學算式的運算元與運算子之間應該添加空格(二進位運算與一元運算除外)
- for語句中的運算式應該用逗號分開,後面添加空格
- 制類型轉換語句中的強制類型的右括弧與運算式之間應該用逗號隔開,添加空格
七、變數
1.變數的聲明
變數是用於臨時儲存值的容器。這些值可以是數字、文本、或者複雜得多的排列組合。是用於跟蹤幾乎所有類型資訊的簡單工具。
PHP是一種非常弱的類型語言。在大多數程式設計語言中,變數只能保持一種類型的資料,而且這個類型必須在使用變數前聲明,例如C語言中。而在PHP中,變數的類型通常不是由程式員設定的,確切地說,是根據該變數使用的上下文在運行時(即變數的值)決定的。PHP不要求在使用變數之前聲明變數,當第一次給一個變數賦值時,你才建立了這個變數。
PHP的變數聲明是以$符開始的,後面跟大小寫字母,數字和底線,但不能以數字開頭。
<?php $a=100; //聲明一個變數d,賦予整數100 $b=“string”; //聲明一個變數d,賦予字串string $c=true; //聲明一個變數d,賦予布爾值true $d=99.99; //聲明一個變數d,賦予浮點數99.99 $key=$a; //聲明一個key變數,並將a變數的值賦予 $a=$b=$c=$d=“value”; //同時聲明多個變數,並賦予相同的值?>
註:可以使用函數unset( )釋放指定的變數,isset( )函數檢測變數是否設定,empty( )函數檢查一個變數是否為空白。
2.變數的命名
變數名與 PHP 中其它的標籤一樣遵循相同的規則。一個有效變數名由字母或者底線開頭,後面跟上任意數量的字母,數字,或者底線。變數的名稱是對大小寫敏感的。但內建結構和關鍵字以及使用者自訂的類名和函數名都是不區分大小寫。如:echo、while、function名稱等。
<?php echo “this is a test”; Echo “this is a test”; $name=“tarzan”; $Name=“skygao”; echo $name.$Name; //輸出:tarzanskygao?>
八、變數的類型
1.類型介紹
資料類型:
PHP 支援八種原始類型。
四種標量類型:
- 布爾型(boolean)
- 整型(integer)
- 浮點型(float)(浮點數,也作double)
- 字串(String)
兩種複合類型:
最後是兩種特殊類型:
在PHP中,變數的類型通常不是由程式員設定的,確切地說,是根據該變數使用的上下文在運行時(即變數的值)決定的。使用函數var_dump( )查看錶達式的值和類型。
<?php $bool=TRUE; //賦一個布爾值 $str=“foo”; //賦一個字串 $int=12; //賦一個整型值 var_dump($bool); //輸出:bool(true) var_dump($str); //輸出:string(3) "foo" var_dump($int); //輸出:int(12)?>
2.布爾型(boolean)
3.整型(integer)
4.浮點型(float或double)
5.字串(String)
6.數組(Array)
7.對象(Object)
8.資源類型(Resource)
9.NULL類型
10.偽類型介紹
待續。。。。。。。。
PHP之路,Day1 - PHP基礎