注釋: 1.對象可以使用foreach進行遍歷,只能遍歷成員屬性。 2.僅能在外部遍歷對象的public屬性。 3.在類的內部可以使用$this進行遍歷
2.接口:先定義一個標準的寫法,讓某些類來實現接口的時候,必須要實現接口定義的所有函數,是為了保證我們程序的標準化。
3.接口的寫法: (1)通過interface來定義一個借口。 (2)接口的函數必須不能包含函數體。 (3)接口的函數必須全部被類實現。 (4)接口定義的函數如果有參數,那么實現類的函數也必須有參數,如果參數有默認值,那么實現類的函數也必須有默認值。 (5)接口不能包含成員屬性。 (6)實現的類可以包含成員屬性,跟接口沒關系。 (7)接口的定義函數必須是public。
4.抽象類與抽象方法 (1)抽象跟接口差不多,不能被直接實例化。 (2)通過abstract class 關鍵詞來定義一個抽象類。 (3)抽象類可以像正常類一樣,包含成員屬性和成員方法。 (4)抽象類可以有至少一個抽象方法,抽象方法不能有函數體,而且定義抽象方法必須被繼承的類所實現。 (5)抽象方法通過abstract關鍵詞來定義。 (6)抽象類可以定義靜態成員方法,而且可以直接使用抽象類名來調用靜態方法,Leader::attack();,當然繼承的類也可以。
5.trait: 寫法: (1)通過trait關鍵詞來定義。 (2)定義好之后其實和類一樣,同樣包含成員屬性和成員方法。 (3)trait不能夠直接被實例化,必須被其他的類使用,使用use關鍵詞來定義,重點是支持多個,實現類的多繼承。 (4)可以包含抽象方法。 (5)trait定義的方法沖突的時候,要使用insteadof來修正,只能使用一個,或者使用as起別名。
6.命名空間 (1)通過在類的上面使用namespace來定義一個命名空間。 (2)命名空間支持多級,像文件夾的結構一樣。 (3)如果在同一文件中寫多個命名空間,范圍是從當前的命名空間到下一個命名空間結束。 (4)當使用命名空間之后,遇到相同的類名,可以直接使用use來說明調用的是哪個命名空間下面的類。 (例如:use 后面寫/Db/Bo/Db;最后是一個類名) (5)使用的時候,加上反斜杠代表從根命名空間開始查找,后面的叫做子集命名空間。
7.MVC:是一種構建開發框架的思想,把整個項目分成三部分。 (1)頁面模板(利用模板引擎顯示頁面)———視圖(View) (2)控制器(控制操作數據庫,并輸出模板)——控制器(Controller) (3)數據操作(操作數據庫)——————-模型(Model)
新聞熱點
疑難解答