php的類是經過關鍵字class來聲明的,關鍵字後面是類名,而後是花括號,花括號裏面是類的屬性和方法。javascript
類的屬性和方法有四種格式,public,private,protected,finally。php
意思是public(公有的,能夠被子類繼承)。java
private(私有的,不能被子類繼承,只能在其所在的類中使用)。ajax
protected(受保護的,能夠在當前類中和子類中使用)。sql
finally(不能執行的,爲之後的功能預先定義)。數據庫
php類有三大特性,分別是封裝繼承和多態。json
封裝類只是爲了避免讓別的類隨意修改本類的屬性和方法,因此在定義類中的屬性和方法是,能夠經過關鍵字來設置這個屬性或方法的權限。後端
類的繼承是讓一個類經過關鍵字extends繼承另外一個類的屬性和方法(私有的屬性和方法不能被繼承)。緩存
一個類被多個子類繼承,在多個子類中表現出不一樣的功能就是多態。併發
PHP支持重寫,不支持重載,但能夠模擬重載。
PHP模擬重載須要用到四個魔術方法,分別是(__isset)(__unset)(__set)(__get)。
在類沒有被實例化的狀況下,想要執行一個靜態方法(static),須要用到關鍵字(self),並且只能使用同爲靜態的屬性。
抽象類和接口:接口是定義,抽象類是實現。
建立接口須要用到關鍵字interface,建立抽象類須要用到關鍵字abstract。
MySQL查詢執行流程:首先到查詢緩存裏面查看有沒有匹配的sql數據,若是有匹配的數據,則去檢查權限是否支持,若是權限支持,則return出數據。
若是緩存裏面沒有匹配的數據,則會生成一個解析樹,而後檢查權限,權限在支持的狀況下,會作一系列的查詢優化(這一步是查詢優化器作的),優化完成後會return出數據。
先後端交互,進行數據庫查詢:
$.ajax({ type: "POST", url: xxx, data: ???, dataType: "json", success: function(data){ console.log(data); }, }); //type是傳輸方法 //url是接受頁面的地址 //data是須要穿的數據 //datatype是返回值的語言格式 //success是代碼執行成功後執行的函數
$.post(url, data, function(data){ alert(data.name); console.log(data.time); }, ??); //url是接受值的地址 //data是須要傳的數據 //function是回調函數 //??是返回值的格式
$.get方法和$.poat方法用法同樣。
$?? = $this->input->post('???'); $where = {}; $where.?? = $??; $this->db->select(*)->from('xxx')->where($where)->get()->result_array();
PHP的GET方法和POST方法用法同樣。
PHP模型類是用來專門和數據庫打交道的類。
若是要引入一個模型類,調用方法是這樣的:
$this->load->model('模型類名稱'); $this->模型類名稱->模型類中的方法名();
事務:
原子性是指事務包含的全部操做要麼所有成功,要麼所有失敗回滾。
一致性是指事務必須使數據庫從一個一致性狀態變換到另外一個一致性狀態,也就是說一個事務執行以前和執行以後都必須處於一致性狀態。
隔離性是當多個用戶併發訪問數據庫時,不能被其餘事務的操做所幹擾。
持久性是指一個事務一旦被提交了,那麼對數據庫中的數據的改變就是永久性的。
start:開始。就是系那個要執行,還未執行。
commit:提交。提交以後就不能回滾了。
rollback:回滾。SQL語句執行失敗或還未提交是能夠回滾。
事務的提交和回滾只會執行一個