理論:物件導向:認識或認知事物的一種方式(類比)
對象是類進行執行個體化後的結果
object(物質、物體)
執行個體化對象:給當前new的類分配一個記憶體空間,並將當前類的屬性和行為放置在記憶體空間裡
類(屬性、行為)
(預設情況下的是缺少了該屬性或行為,則類別無法確定)
擴充的附加行為---》介面
特點:三大特徵:1.封裝(防止使用者隨意的修改) 2.繼承 3.多態
封裝及隱藏,隱藏的被修改的能力
實現封裝的手段:存取修飾詞、類、函數方法、檔案、檔案夾
存取修飾詞:public、private、protected
建構函式在建立時調用
解構函式在銷毀時調用
判斷數組函數下標是否存在:array_key_exists();
繼承:擴充 單繼承 extends 重寫(final 它可以修飾函數方法,被修飾的函數方法不能被重寫)
Final:最終的、最後的
final 關鍵字,意思是終態的,最後的
它可以修飾函數方法,被修飾的函數方法不能被重寫
final可以修飾類class,但修飾的類不能被繼承
類當中的屬性不能被final修飾
this(指代當前類的對象)/parent(指代父類對象<不僅僅是直接父親>,
父類對象調用parent::)/self(類自身的一些內容,常用的是靜態方法。和this相對立)
static:靜態
它可以修飾屬性變數,也可以修飾函數方法
靜態資源的載入和普通的非靜態資源的載入是不一樣的
在非靜態方法中可以調用靜態方法,但是反過來就不行
靜態static修飾的內容被建立不需要有對象存在,同時它們是被放置在靜態地區當中
靜態資源的標準訪問方式是===>類名::靜態資源名稱
多態:(abstract 抽象) (interface 介面)==>(實現 implements)->可以定義靜態常量
異常資訊:1.@ 2.error_reporting函數和配置
3.在php.ini這個設定檔中搜尋display_errors = on改為off
命名空間:namespace 一種封裝事物的方法(用來分離出現重名的類 從PHP5.3開始)
使用命名空間:關鍵字:use
用來解決在編寫類庫或應用程式時建立可重用的代碼如類或函數時碰到的兩類問題
include(語句在遇到包含檔案不存在,或是出錯的時候,提示錯誤,繼續執行) include_once
require(語句在遇到包含檔案不存在,或是出錯的時候,就停止即行,並報錯。) require_once
__autoload(自動載入)
代碼:類----》對象
PDO:(PHP data object)它是一個封裝的類,一個控制資料庫的新的操作方法
將具體的操作資料庫的代碼封裝到資料庫抽象層
擴充為PHP訪問資料庫定義了一個輕量級的一致介面
PDO類 PDOStatement類
new PDO('資料庫連接訪問字串','登入使用者名稱','登入密碼','訪問的相關參數');
mysql:dbname=book;host=127.0.0.1;port=3306;charset=utf8
exec($sql);===>受影響的函數 (int類型)
query($sql);===>PDOStatement對象
prepare($sql);===>PDOStatement對象
fetch===>從結果集中擷取下一行(返回一個一維數組)
fetchAll===>返回一個包含結果集中所有行的數組 (二維數組)
fetchObject===>擷取下一行並作為一個對象返回(返回一個對象 不寫類名預設:stdclass)
execute===>執行一條預先處理語句(參數是數組形式)
模板引擎
smarty3.1(分離、分工)
模板檔案夾、模板轉換後的檔案夾、外掛程式庫、設定檔、快取檔案
tpl 定界符預設{}====>推薦使用<{}>,以免起衝突
模板常見標籤標記
<{}>\<{if}>.....<{\if}>
<{foreach}>
<{foreachelse}>
<{\foreach}>
assign();
display();