首頁  >  文章  >  後端開發  >  PHP基礎知識

PHP基礎知識

伊谢尔伦
伊谢尔伦原創
2016-12-05 10:11:334945瀏覽

一、初識PHP

PHP是一種伺服器端HTML-嵌入式腳本描述語言,其最強大且重要的特徵就是跨平台和物件導向。

PHP是B/S(瀏覽器/伺服器)體系結構,屬於三層結構。

1、PHP語言的優點:

      1.高安全性。

      2、跨平台特性。

      3、支援廣泛的資料庫。

      4、易學性。

      5、執行速度快。

      6、免費。

      7、模板化。

      8、支援物件導向與流程。

      9、內嵌zend加速引擎。

2、PHP5的新特性:

      1、建構子和分析構子。

       2、對象的引用。

       3、對象的克隆。

       4、物件中的私人、公有與受保護模式。

       5、介面。

       6、抽象類別。

       7、__call。

       8、__set和__get。

       9、靜態成員。

3、擴充函式庫

        從PHP5開始,PHP即新增了內建的標準擴充庫,包括XML擴充函式庫-DOM、SimpleXML、SPL、SQLite等,而像MySQL、mysqli、overload、gd2等這些函式庫則被放在pecl外部擴充庫。需要時在php.ini。在設定檔中選擇載入。

        在windows下載入擴充庫,需修改php.ini檔案來完成。使用者也可以在腳本中透過 dll() 函數來動態載入。 php擴充庫的DLL檔都具有php_前綴。

        編輯php.ini檔案時,應注意以下幾點。

        1、需要修改exiension_dir設定使其指向使用者放置擴充庫的目錄或方式PHP_*.dll檔案的位置。 如:extension_dir  =  C:phpextensions

        2、要在php.ini檔案中啟用某擴充庫,需要去掉extension  =  php_*.dll  前的註解,需要去掉extension  =  php_*.dll  前的註解符號,即將需要載入的擴充符號前的分好" ; 。 如  ;extension  =  php_bz2.dll

        3、有些擴充程式庫需要額外的dll才能運作。其中一部分dll檔案綁定在發行包中,但還有一些,如Oracle所需的dll並沒有保定在發行包中。

        

二、正式學習php

   

             ?>

  其中"" 是php的標記對。在標記對中所有的程式碼都當作php程式碼來處理。

echo 是輸出語句。

1、   php總共支援4中標記風格。

 (1)XML樣式

     

           echo "xml  script language = "php">

           echo "這是腳本風格";

    (3)簡短風格

      echo "這是簡短風格";?>

    (4)ASP %>

2、 php註解支援3種。

   c++風格單行註解

echo  「C++風格」;        //這就是C++風格

風格

多行註解

*/

?>

shell風格註解

echo "shell腳本風格";   #這裡的內容看不到的。

?>

三、php的資料型態:

1、標量資料型別

      標量資料型態是資料結構中最基本的單元,只能儲存一個資料。

      布林型:是最簡單的類型。只有兩個值,真和假。

      字串型:字串就是連續的字元序列,可以是電腦所能表示的一切字元的集合。

      整數:只能包含整數。這些資料類型可以是正數或負數。

      浮點型:浮點數資料型別用來儲存數字,和整數不同的是它有小數位。

2、複合資料型別

      複合資料型別包含兩種,分別為陣列與物件。

      陣列:一組相同類型的變數的集合。

      物件:物件是類別的實例,使用new指令來建立。

3、特殊資料型別

      特殊資料型別包含資源及空值兩種。

      資源:資源是一種特殊變量,又稱為句柄,保存到外部資源的一個引用。資源是透過專門的函數來建立和使用的。

      空值:特殊的值,表示變數沒有值,唯一的值就是null。

4、轉換資料型別

      雖然php是弱型別語言,但有時仍需要用到型別轉換。

      boolean    轉換成布林類型

      string         轉換成字型

           轉換成浮點型

     array             轉換為陣列

   is_bool檢查變數是否為布林型別    例如  is_bool(true)

    is_string檢查變數是否為字串型別

    is_float     is_null   檢查變數是否為null

    is_array檢查變數是否為陣列型別

    is_objcct檢查變數是否為陣列型別

    is_numeric檢查變數是否為數字或由數字組成的字串。

四、php常數

1、聲明和使用常數

      常數可以理解為值不變的量。常數值被定義後,在腳本的其他任何地方都不能改變。

       一個常數由英文字母、底線和數字組成,但數字不能作為首字母出現。

       在php中使用define()函數定義常數。

       格式  define(string constant_name, mixed value , case_sensitive = true)

      constant_name    必選參數。常量名稱,即標識符。

       value                      時中使用參數。常量的值。

       case_sensitive    可選參數。指定是否大小寫敏感,設定為true,表示不敏感。

       取得常數的值有兩種方法:一種是使用常數名直接取得值;另一種是使用constant()函數,constant()函數和直接使用常數名輸出的效果是一樣的,但函數可以動態地輸出不同的常數,使用上要靈活方便的多。

2、預設常數

     __FILE__                   預設常數,php  預設常數,php程式行數            兩條下劃線

    PHP_VERSJON           內建常數 量,執行php解析器的作業系統名稱

    TRUE                           常數  此常數為假值(false) 

    NULL                         一個null 

    E_WARNNG              此常數指到最近的警告處

    E_PARSE                     此常數為發生不尋常處的提示但不一定是錯誤處 

五、變數

1 、變數宣告及使用

和許多語言不同,在php中使用變數之前不需要宣告變量,只需為變數賜值即可。 php中的變數名稱以$和識別符表示,變數名是區分大小寫的。

變數賦值,是指給變數一個具體的資料值,對於字串和數字類型的變量,可以透過「=」來實現賦值。

變數名稱不能以數字字元開頭。

變數名稱不能以字母和底線「_」以外的其他字元開頭。

2、變數作用域

變數在使用時,要符合變數的定義規則。變數必須在有效範圍內使用。

局部變數  在函數的內部定義的變數,其作用域是所在函數。

全域變數 被定義在說有幻術以外的變量,其作用域是整個php文件,但在使用者自訂函數內部是不可用的,如果希望在使用者自訂函數內部使用全域變量,則要使用global關鍵字聲明全域變數。

靜態變數 能夠在函數呼叫結束後丟保留變數值,當再次回到其作用域時,又可以繼續使用原來的值,而一般變數是在函數呼叫結束後,其儲存的資料值即被清除,所佔的記憶體空間也被釋放。使用靜態變數時,先要用關鍵字static來宣告變量,把關鍵字static放在要定義的變數之前。

3、可變變數

可變變數是一種獨特的變量,他允許動態改變一個變數名稱。其運作原理是該變數的名稱由另一個變數的值來決定,實作過程就是在變數的前面再多加一個美元符號「$」

4、php預定義變數

php也提供了許多非常實用的預先定義變數,透過這些預先定義變數可以取得到使用者會話、使用者作業系統的環境和本機作業系統的環境等資訊。

$_SERVER [ ' SERVER_ADDR ' ]目前執行腳本所在的伺服器的IP位址

$_SERVER [ ' SERVER_NAME ' ]目前執行腳本所在伺服器主機的名稱。如果該腳本運行在一個虛擬主機上,則名稱是由虛擬主機所設定的值決定。

$_SERVER [ ' REQUEST_METHOD ' ]造訪頁面時的請求方法。如get、head、post、put等,如果要求的方式是head,php腳本將在輸出頭資訊後中止(這表示在產生任何輸出後,不再有輸出緩衝)

$_SERVER [ ' REMOTE_ADDR ' ]正在瀏覽目前頁面使用者的ip位址

$_SERVER [ ' REMOTE_HOST ' ]正在瀏覽目前頁面使用者的主機名,反向網域解析基於該使用者的REMOTE_ADDR

$_SERVER [ ' REMOTE_PORT ' ] 使用者連接到伺服器所提供使用的連接埠

$_SERVER [ ' SCRIPT_FILENAME ' ] 目前執行腳本的絕對路徑名稱。

注意,如果腳本在CLI中被執行,作為相對路徑,如file.php或.../file.php,$_SERVER [ ' SCRIPT_FILENAME' ] 將包含使用者指定的相對路徑


$_SERVERVERVERVERVER [ ' SERVER_PORT ' ]伺服器所使用的端口,預設為80。如果使用SSL安全連接,則這個值為使用者設定的HTTP連接埠。

$_SERVER [ ' SERVER_SIGNATURE ' ]  包含伺服器版本和虛擬主機名稱的字串。

$_SERVER [ ' DOCUMENT_ROOT ' ]目前運行腳本所在的文檔根目錄。在伺服器設定檔中定義。

$_COOKIE  透過HTTPCookie傳遞到腳本的訊息,這些cookie多數是由執行php腳本時透過setcookie()函數設定的。

$_SESSION  包含與所有會話變數相關的資訊。 $_SESSION變數主要應用於會話控制和頁面之間值的傳遞。

$_POST  包含透過POST方法傳遞的參數的相關資訊。主要用於取得透過post方法提交的資料。

$_GET  包含透過GET方法傳遞的參數的相關資訊。主要用於取得透過GET方法提交的資料。

$GLOBALS  由所有已定義全域變數所組成的陣列。變數名就是該數組的索引。它可以稱得上是所有超級變數的超級集合。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn