php知識點學習筆記

1,函數的名字,_或者a-z或者A-Z來打頭;

2,一個自定義函數中的變量是局部的,函數外邊不生效;

3,使用global全局變量時,可使用在函數外的變量;

4,爲了防止在函數在調用過程中,存在變量衝突,可以使用unset(變量名),後面重新定義;

5,PHP默認是值傳遞,如果需要引用(地址)傳遞,使用&變量名,如:

//案例

$a=213;

Functionabc(&$b) {

       $b=314;

}

abc ($a);

echo $a;

6,函數的默認值的問題;

7,’’中,原樣輸出,””中要轉換;

8,如果給函數傳遞的是基本數據類型(整形,小數,布爾,字符),在默認情況下是是傳遞的值,如果希望傳址,functiontest(&$變量…){。。。};php中,給一個函數傳遞的是數組,則默認情況下是傳值(拷貝了新的數組),如果要傳址,則應&$數組名

9,靜態變量的基本用法:

(1) 在類中定義靜態變量;[訪問修飾符]static $變量名;

(2)如果在類中訪問 有兩種方法:self::$靜態變量名,類名::$ 靜態變量名

如果在類外訪問,有一種方法類名::靜態變量名;

10,php提供了三種訪問控制符號

(1),public 表示全局,可以在本類,類外部,子類中使用

(2),protected 表示受到保護,可以在本類,子類中使用;

(3),private 表示私有,只能在本類使用

注:如果一個方法沒有訪問修飾符,則默認是public;屬性,必須指定訪問修飾符;方法之間可以互相調用,但形式是$this引用

Functiontest1(){

       $this->test2();

}

Protectedfunction test2(){

       Echo “hello,I’m test2”;

}

11,所謂繼承就是一個子類,通過extends 父類(public、protected)屬性和(public、protected)方法繼承下來。基本語法是 class 類名 extends 父類名{….};

12,一個類只能繼承一個父類(直接繼承),如果希望繼承多個類的屬性和方法,則使用多層繼承。 如果我們希望調用父類的構造方法,或者其他的方法(public、protected),可以這樣處理① 類名::方法名()②parent::方法名();

13,方法的重寫、覆蓋(override)當一個父類知道所有的子類都有一個方法,但是父類不確定該方法究竟如何寫,可以讓子類去覆蓋這個方法。①要實現重寫,要求子類的那個方法名和參數列表個數和父類一樣,但不要求參數的名稱一樣②,如果子類要去調用父類的某個方法(public、protected),則可使用parent::方法名(參數)或 父類名::方法名(參數)。③在實現方法覆蓋的時候,訪問修飾符可以不一樣,但必須滿足:子類的訪問範圍>=父類的訪問範圍。

14,使用抽象類的注意事項(1),abstract class 類名{….}(2),如果一個類/方法使用了abstract來修飾,則該類就是抽象類/抽象方法[抽象方法不能有方法體](3),抽象類可以沒有抽象方法.,同時還可以有實現了的方法.(4)如果一個類中,只要有抽象方法,則該類必須聲明爲抽象類    (5)如果A類繼承了抽象類B,則要求A類實現從B類繼承的所有抽象類.

15,接口的使用基本語法

Interface 接口名{//常量  //方法}

接口中的方法都不能有方法體;實現格式:class 類名 implements 接口名{};當多個類,他們自己是平級的關係,他們都要去實現某個功能,只是實現的方式不一樣,這時可以使用接口。

注:(1)一個接口可以繼承多個其他的接口;(2)當一個類去實現了某些接口,則必須把所有接口的方法都實現。

繼承和實現接口的比較

(1),可以認爲,實現接口是對單一繼承的補充;(2)可以在不破壞類層次關係的前提下,對某個功能擴展。

16常量前不加$符號,且一般大寫,且在類中或接口中聲明時就賦值

17,final關鍵字,(1)如果我們希望某個類不被其他的類來繼承,可以使用final;2,如果我們希望某個方法,不能子類改寫,可以使用final來修飾方法。(final關鍵字不能去修飾屬性的)

18 類的修飾符只有final、abstract兩個關鍵詞;public、protected、private(3P)可以修飾類中的成員變量、成員方法。

發佈了22 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章