【資料庫操作】
MVC架構
C:controller 控制器
V:view 視圖
M:model 模型
操作資料庫步驟:
1) 建立資料庫php0507、建立資料表、寫入測試資料
2) 通過Yii架構連接配接資料庫main.php

3) 注意:資料庫内部處理走PDO,是以需要讓php開啟PDO擴充。php.ini
4) 測試Yii 架構是否有連結上資料庫
在控制器裡邊随便一個地方輸出資訊:
var_dump(Yii::app()->db);
紅色文字意思是獲得資料庫元件
Yii::app():Yii架構是純OOP面向對象架構,每次web請求,相當于通過建立一個類的對象,讓對象調用相關方法執行。對象是我們架構應用的核心對象,我們也可以通過代碼獲得這個應用對象(Yii::app())。
以上資訊出現說明資料庫有連接配接成功。
【使用資料庫】
現在我們可以對資料庫進行增、删、改、查操作
MVC,現在我們需要制作model來操作資料庫
建立model模型goods
我們來看看“db”到底是誰?
main.php
Yii架構核心代碼大約有10000行,有一個檔案将全部核心代碼整理了。
D:\www\0507\framework\ yiilite.php
【使用資料模型goods】
利用模型查詢資料表的資料,在背景實作商品資訊的查詢
模型:
有多少資料表,就建立多少模型
模型其實就是類
我們對資料庫進行操作,需要執行個體化模型類,産生對象
通過對象調用相關的方法,就可以實作資料庫的操作
CActiveRecord:是活躍記錄,AR,好多成熟架構都有此技術。
将資料表的相關内容以“類”的形式呈現出來。
我們學習AR技術。
讓頁面底部産生日志資訊:
獲得全部商品資訊findAll()
結果是一個大的數組,裡邊有具體對象元素
我們可以周遊這個大的數組。
周遊出來的結果是具體每條記錄的對象
記錄對象産生了,就可以利用對象調用自己的屬性(商品名稱、價格、數量等等)獲得具體資訊
find()會産生一條記錄資訊,其會傳回一個直接對象出來
我們可以通過對象調用自己的屬性直接獲得具體商品資訊
對象->屬性;
findAll() 傳回了一個數組,裡邊有好多對象元素資訊
find() 直接傳回了一個對象,可以通過對象獲得具體商品資訊。
【資料資訊展現到視圖模闆裡邊】
通過模型獲得商品資訊展現到頁面上
1. 通過模型獲得具體商品資訊
2. 将商品資訊傳遞到視圖模闆裡邊renderPartial(’視圖’,被傳遞變量資訊)
3. 在視圖裡邊獲得具體商品資訊展示。
【通過具體sql語句獲得資訊】
AR:findAllBysql();
資料模型:
原則上 一個資料表對應一個模型
模型本質上說就是一個類,
我們對資料庫操作需要通過這個類實作,
進而需要執行個體化這個類,産生對象
對象可以調用類裡邊的相關方法,進而對資料庫進行操作
AR:CActiveRecord, 活躍記錄,就是模型,就是類
model
【通過模型model實作資料的添加】
我們操作資料庫,需要通過模型建立對象來操作
對象調用相關的方法,實作資料的操作
當我們建立一個對象,這個對象就代表資料表裡邊的一條記錄。
資料表的字段,就是我們建立模型對象的屬性
如何添加資料呢
我們把模型對象的屬性資訊設定好,就可以實作資料的添加。
【利用頁面表單實作資料添加】
利用助手進行表單展現
助手:利用php程式來生成html代碼。
Yii裡邊稱助手是“小物件”widget
通過widget小物件建立添加商品的表單
<?php echo $form -> labelEx($goods_model, 'goods_name') ?>
<?php echo $form -> labelEx($goods_model, 'goods_weight') ?>
等等。
表單校驗:
内容總結
資料庫操作
1. yii架構連接配接資料庫main.php(db元件的配置)
2. 制作資料模型model
3. 我們通過資料模型對資料庫進行查詢和添加資訊操作。
4. 通過小物件生成form表單