YII1.1.19初體驗

前言:

剛到一個公司實習。給的第一個任務就會用yii1.1.19開發後臺。照葫蘆畫瓢。總得寫點總結不是~~

先來幾個官網扒下來的安裝點~~

安裝Yii

首先,我們來安裝Yii框架。 從 www.yiiframework.com 獲取一份Yii的拷貝,解壓縮到

1

/wwwroot/yii

。再次檢查以確保

1

/wwwroot/yii/framework

目錄存在。

創建應用骨架

然後,我們使用

1

yiic

工具在

1

/wwwroot/blog

目錄下創建一個應用骨架。

1

yiic

工具是在Yii發佈包中提供的命令行工具。它可以用於創建代碼以減少某些重複的編碼工作。

打開一個命令行窗口,執行以下命令:

% /wwwroot/yii/framework/yiic webapp /wwwroot/blog Create a Web application under '/wwwroot/blog'? [Yes|No]y ...... 注意:php.exe必須在計算機環境變量中

虛擬主機設置

在apache24\conf\extra\httpd-vhosts.conf中添加

<virtualhost>

DocumentRoot "D:/ichenkun_webs/blog"

ErrorLog "D:/ichenkun_webs/logs/blog.log"

CustomLog "D:/ichenkun_webs/logs/blog.log" common

DirectoryIndex index.php index.html index.htm

<directory>

Options Indexes FollowSymLinks

AllowOverride all

Require all granted

在apache24\conf\httpd.conf中添加Listen:1010

然後重啟服務器

域名訪問localhost:1010。

出現頁面頭為My Web Application即為成功!

應用的工作流程

為了幫你理解Yii是怎樣工作的,對於我們的程序骨架,當有人訪問它的聯繫頁(Contact)時,我們對它的工作流程描述如下:

用戶請求此 URL

1

http://www.example.com/blog/index.php?r=site/contact

入口腳本 被網站服務器執行以處理此請求;

一個 應用 的實例被創建,其配置參數為

1

/wwwroot/blog/protected/config/main.php

應用配置文件中指定的初始值;

應用分派此請求到一個 控制器(Controller) 和一個 控制器動作(Controller action)。對於聯繫頁(Contact)的請求,它分派到了

1

site

控制器和

1

contact

動作 (即

1

/wwwroot/blog/protected/controllers/SiteController.php

中的

1

actionContact

方法);

應用按

1

SiteController

實例創建了

1

site

控制器並執行;

1

SiteController

實例通過調用它的

1

actionContact()

方法執行

1

contact

動作;

1

actionContact

方法為用戶渲染一個名為

1

contact

的 視圖(View) 。在程序內部,這是通過包含一個視圖文件

1

/wwwroot/blog/protected/views/site/contact.php

並將結果插入 佈局 文件

1

/wwwroot/blog/protected/views/layouts/column1.php

實現的。

總結:

數據庫配置在根目錄下/protected/config/database.php.在裡面配置即可

'mysql:host=localhost:3306;dbname=test', 'emulatePrepare' => true, 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'tablePrefix' => 'backend_', 'enableParamLogging' => true // 顯示sql語句綁定的參數信息 );

gii的使用

Controller Generator 生成控制器

Crud Generator 生成增刪改差

一下類似

Form Generator 生成表單

Model Generator 生成數據庫模型

Module Generator 生成模塊

填寫

填寫

訪問www.example.com/index/php?r=gii 即可進入gii頁面。密碼應該是123456

在裡面有5個generator

公司後臺默認都是ajax+json傳遞數據。所以要在控制器中新增兩個方法

默認create.php中渲染後新增~

然後新建_form_create.php。在此之中新增ajax。

意義:與form一致。目的是為了兩個操作走不同的文件,從而方便管理~

$this->renderPartial('_form_create', array('model' => $model));

public function actionInsertModel() { $model = new BackendParameter(); $model->attributes = $_POST ['BackendParameter']; $model->create_time = time(); $model->update_time = time(); $model->save(false); $data = array( 'status' => array( 'desc' => '添加成功', 'code' => 'success' ) ); echo json_encode($data); } public function actionUpdateModel() { $model = BackendParameter::model()->findByPk($_POST ['BackendParameter']['id']); $model->code = $_POST ['BackendParameter']['code']; $model->name = $_POST ['BackendParameter']['name']; $model->value = $_POST ['BackendParameter']['value']; $model->remark = $_POST ['BackendParameter']['remark']; $model->update_time = time(); $model->save(false); $data = array( 'status' => array( 'desc' => '修改成功', 'code' => 'success' ) ); echo json_encode($data); }

在其對應的視圖文件夾中也要修改

以下是yii的筆記部分~~~

yiic的用法

進入到yii的目錄下,cd framework

在命令行中輸入 yiic webapp /www/blog

數據庫的配置

在protected/config/database.php

'connectionString' => 'mysql:host=139.199.1.50:3306;dbname=yii_study',

'emulatePrepare' => true,

'username' => 'root',

'password' => '123456',

'charset' => 'utf8',

'tablePrefix' => 'tbl_',

gii的安裝

在mian.php中新增代碼

'modules' => array(

'gii' => array(

'class' => 'system.gii.GiiModule',

'password' => 'gii密碼'

)

),

gii的使用見上面的內容

可以在

1

Table Name

欄中輸入一個星號 '*' 。這樣就可以通過一次點擊就對 所有的 數據表生成相應的模型類。

用戶驗證在protected/conponents/UserIdentity.php中。

strtolower() 把所有的字符變成小寫