第一次寫博文,也不知道怎麼寫,不太熟悉,帶小夥伴學習同樣我平常使用的Yii框架。php
PHP中的開發框架有不少,好比:ThinkPHP、Yii、CI、Laravel、Phalcon等。如今流行度最高的是Laravel框架,鑑於公司用的是Yii框架,就講一講Yii框架的基礎操做。但願寫好的就借鑑,寫的很差的能夠向我提出建議。css
1.Yii框架是一個有MVC思想的框架,Model、View、Controller。該框架由美籍華人開發,相對於其餘框架來講是一個重量級的框架。Yii框架有腳手架功能,能夠自動生成目錄結構(但通常狀況下我都不用)。web
2.腳手架功能 數據庫
利用Yii腳手架功能,生成目錄結構數組
(1)、打開命令提示符窗口(Win7以管理員方式打開)app
(2)、切換到項目中的framework文件夾裏框架
(3)、輸入以下命令,生成目錄yii
yiic webapp ../appwebapp
錯誤提示:"php.exe" 不是內部或外部命令,函數
解決辦法:將php的安裝目錄,配置到系統的path環境變量中
path環境變量的位置:個人電腦->屬性->高級->環境變量->系統變量->Path
變量名:Path
變量值:adsfasdfasdfas;D:\php5.4
注意:必須把命令提示符窗關閉,從新打開
3.Yii的項目目錄
app--------------------應用程序目錄
assets---------------第三方資源包*******
css------------------樣式表*******
images---------------圖片*******
protected------------應用程序
commands-----------系統命令
components---------組件目錄(自定義類)*******
Controller.php---全部控制器的父類
config-------------配置文件夾*******
main.php---------全局配置文件
controllers--------控制器*******
data---------------數據庫腳本*******
extensions---------擴展類
messages-----------翻譯過的信息
migrations---------數據庫移植文件
models-------------模型*******
runtime------------運行時
views--------------視圖*******
layouts----------佈局文件夾
themes---------------主題目錄
index.php------------入口文件
framework--------------yii資源包
4.命名規則
控制器的命名規則
(1)、必須採用大駝峯的命名規則
(2)、必須以Controller來結尾
IndexController.php
LoginController.php
控制器中方法的命名
(1)、必須採用小駝峯的命名規則
(2)、必須以action來開頭
actionIndex()
actionAdd()
actionInsert()
actionLogin()
模型的命名規則
(1)、必須採用大駝峯的命名規則
(2)、必須以表名來命名
BbsInfo.php
Reviews.php
5.修改配置文件
(1)、設置默認控制器
"defaultController"=>"控制器/方法",
"defaultController"=>"index/index",
(2)、設置url的路由,開啓pathinfo
/*
"urlManager"=>array(
......
),
*/
去掉上邊代碼的註釋
(3)、設置數據庫的配置信息
/*
"db"=>array(
......
),
*/
去掉上邊代碼的註釋,並修改數據庫信息
6.控制器顯示指定的視圖
(1)、顯示指定的視圖,但不調用佈局文件
$this->renderPartial("視圖名");
$this->renderPartial("視圖名",array(名=>值,名=>值...));
注:array數組是將值傳給視圖
(2)、顯示指定的視圖,但調用佈局文件
$this->render("視圖名");
$this->render("視圖名",array(名=>值,名=>值...));
(3)可使用include包含頁面
include($this->viewpath ."/index.php");
7.數據庫操做
(1)、查詢多條記錄,返回:二維數組
$result = $model->findAll();
$result = $model->findAll("條件");
$result = $model->findAll(array(
"condition"=>"條件",
"order"=>"排序",
"offset"=>起始值,
"limit"=>條數
));
$result = $model->findAllBySql("select語句");
(2)、刪除記錄,返回:受影響的行數
$result = $model->deleteAll();
$result = $model->deleteAll("條件");
$result = $model->deleteByPk(主鍵);
(3)、查詢一條記錄,返回:一維關聯數組
$result = $model->find();
$result = $model->find(條件);
$result = $model->findByPk(主鍵);
$result = $model->findBySql("select語句");
(4)、修改記錄,返回:受影響的行數
$result = $model->updateAll(一維關聯數組);//修改表中的全部記錄
$result = $model->updateAll(一維關聯數組,條件);//改符合條件的記錄
$result = $model->updateByPk(主鍵,一維關聯數組);
(5)、添加記錄,返回:受影響的行數
$model->字段名 = 字段值;
$model->字段名 = 字段值;
$model->字段名 = 字段值;
$result = $model->save();
(6)、執行select語句,返回:二維數組
$db = Yii::app()->db;
$st = $db->createCommand("select語句");
$rs = $st->queryAll(); //得到全部記錄
(7)、執行select語句,返回:一維數組
$db = Yii::app()->db;
$st = $db->createCommand("select語句");
$rs = $st->queryRow(); //得到一條記錄
(8)、執行insert、update、delete語句,返回:受影響的行數
$db = Yii::app()->db;
$st = $db->createCommand("insert|update|delete語句");
$result = $st->execute();
(9)、count查詢 返回:數字
$result = $model->count();
$result = $model->count(條件);//查詢符合條件的記錄
$result = $model->countBySql("select語句");
注:Yii框架對聚合函數的封裝只有count(),若想使用其餘的聚合函數則用eg:
$result = $model->countBySql("select max(clickTimes) from bbsInfo");
其實在使用時候有不少也是靈活的,並非那麼死板。今天暫時分享到這裏了,還會有後續分享哦