理論:面向對象
概念:認識或認知事物的一種方式方法,簡單點說就是“類比”。
對象是類進行實例化後的結果。
New 一個對象時電腦做的工作:在內存地址中開闢一個空間,把屬性放入該空間,執行可能有的語句,把內存地址賦值給變量。
Object ===> 物質、物體
類 ===>屬性和行爲
(默認情況下是缺少了該屬性或行爲則類別就無法確認)
擴展的附加行爲 ===> 接口
構造函數__construct和析構函數__destruct
特點:三大特徵===> 封裝、繼承、多態
①封裝即隱藏 ,隱藏的是被修改的能力(即外部不可隨意修改 )
實現封裝的手段:訪問修飾符、函數方法、類、文件、文件夾
訪問修飾符:public(公有的)、protected(受保護的,自己和子類可以使用)、 private(私有的,只有自己可以使用)
②繼承 ===>擴展/拓展 關鍵字:extends PHP是單繼承
父類 ===>子類 能看到父類的public 、protected修飾的內容
重寫override(什麼情況下不能重寫:final終態的)
Final(終態的)可修飾函數方法,則函數方法不可重寫;可修飾類,則該類不能繼承
this(指代當前類的對象,相當於對類的調用)/parent(指代的是父類,也可以追溯父類的父類,後跟域作用符)/self(類自身的內容,調用類自身,可以是靜態調用,也可以是常量)
Static(靜態的)
③多態 ===>變化的形態 關鍵字:abstract(抽象的)不可以被實例化,無花括號,打“;”表示結束。
Interface(接口)===>實現implements 可以有無限的接口。
異常處理 屏蔽異常信息:@ 、error-reporting函數和配置、display-errors=off(關閉錯誤顯示)
命名空間 是一種封裝事物的方法,是加載到內存中的,作用:分離和隔離可能存在的同名的類。從5.3.0開始存在 關鍵字:namespace 使用命名空間關鍵字use ,引用時可以起別名。
include和include_once:如果沒有對應的文件,發出錯誤警告代碼繼續運行。
require和require_once:如果沒有對應的文件,發出錯誤警告後代碼停止運行。
require一般用於包含類文件。include一般用於包含模板文件。
模板引擎 ===>smarty 程序邏輯代碼與美工分離、分工
模板文件夾、模板轉換後的文件夾、插件庫、配置文件、緩存文件
tpl 定界符默認{} ==> 推薦<{ }>
常見的 <{if}>.....<{/if}>
<{foreach}>...
<{foreachelse}>...<{/foreachelse}>
<{/foreach}>
顯示到界面 assign() 、 display()
代碼: 類 <===> 對象
PDO(php data object)
PDO類
PDOStatement類
New pdo(‘ 數據庫連接訪問字符串’,’登錄用戶名’,’登錄密碼’,’訪問額度相關參數’)
mysql:dbname=pg30_2;port=3306;host=127.0.0.1;charset=utf8
第一個參數必須有,可以匿名訪問數據庫。
exec($sql) ==>int類型
query($sql) ==>PDOstatement類型
prepare($sql) ==>PDOstatement類型
fetch ==>默認返回的是數組,返回一行的一維數組
fetchall ==>以數字和列名爲下標的二維數組
fetchobject ==>以對象作爲結果返回 有一個類,默認類名:stdclass
execute ==> 執行運行prepare,
smarty