1. 程式人生 > >Yii框架之資料庫配置連線、模型配置、獲取具體資料、執行原生的sql語句

Yii框架之資料庫配置連線、模型配置、獲取具體資料、執行原生的sql語句

【資料庫操作】

MVC框架

C:controller  控制器

V:view       檢視

Mmodel    模型

操作資料庫步驟:

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語句獲得資訊】

ARfindAllBysql();

資料模型:

原則上 一個數據表對應一個模型

模型本質上說就是一個類,

我們對資料庫操作需要通過這個類實現,

進而需要例項化這個類,產生物件

物件可以呼叫類裡邊的相關方法,進而對資料庫進行操作

ARCActiveRecord,  活躍記錄,就是模型,就是類

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.phpdb元件的配置)

2. 製作資料模型model

3. 我們通過資料模型對資料庫進行查詢和新增資訊操作。

4. 通過小物件生成form表單