本文實例講述了Yii 框架使用Gii生成代碼操作。分享給大家供大家參考,具體如下:
開始 Gii
Gii 是 Yii 中的一個模塊。 可以通過配置應(yīng)用的 modules 屬性開啟它。通常來講在 config/web.php
文件中會有以下配置代碼:
$config = [ ... ];
if (YII_ENV_DEV) {
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
];
}
這段配置表明,如果當(dāng)前是開發(fā)環(huán)境, 應(yīng)用會包含 gii
模塊,模塊類是 yii\gii\Module。
如果你檢查應(yīng)用的入口腳本 web/index.php
, 將看到這行代碼將 YII_ENV_DEV
設(shè)為 true:
defined('YII_ENV') or define('YII_ENV', 'dev');
鑒于這行代碼的定義,應(yīng)用處于開發(fā)模式下,按照上面的配置會打開 Gii 模塊。你可以直接通過 URL 訪問 Gii:
http://hostname/index.php?r=gii
信息: 如果你通過本機以外的機器訪問 Gii,請求會被出于安全原因拒絕。 你可以配置 Gii 為其添加允許訪問的 IP 地址:
'gii' => [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'] // 按需調(diào)整這里
],
生成活動記錄類
選擇 “Model Generator” (點擊 Gii 首頁的鏈接)去生成活動記錄類。并像這樣填寫表單:
- Table Name:
country
- Model Class:
Country
然后點擊 “Preview” 按鈕。你會看到 models/Country.php
被列在將要生成的文件列表中??梢渣c擊文件名預(yù)覽內(nèi)容。
如果你已經(jīng)創(chuàng)建過同樣的文件,使用 Gii 會覆寫它, 點擊文件名旁邊的 diff
能查看現(xiàn)有文件與將要 生成的文件的內(nèi)容區(qū)別。
想要覆寫已存在文件,選中 “overwrite” 下的復(fù)選框然后點擊 “Generator”。如果是新文件,只點擊 “Generator” 就好。
接下來你會看到一個包含已生成文件的說明頁面。如果生成過程中覆寫過文件, 還會有一條信息說明代碼是重新生成覆蓋的。
生成 CRUD 代碼
CRUD 代表增,查,改,刪操作,這是絕大多數(shù) Web 站點常用的數(shù)據(jù)處理方式。選擇 Gii 中的 “CRUD Generator” (點擊 Gii 首頁的鏈接)去創(chuàng)建 CRUD 功能。本例 “country” 中需要這樣填寫表單:
- Model Class:
app\models\Country
- Search Model Class:
app\models\CountrySearch
- Controller Class:
app\controllers\CountryController
然后點擊 “Preview” 按鈕。你會看到下述將要生成的文件列表。
如果你之前創(chuàng)建過 controllers/CountryController.php
和 views/country/index.php
文件(在指南的使用數(shù)據(jù)庫章節(jié)), 選中 “overwrite” 下的復(fù)選框覆寫它們(之前的文件沒能全部支持 CRUD)。
試運行 ¶
用瀏覽器訪問下面的 URL 查看生成代碼的運行:
http://hostname/index.php?r=country/index
可以看到一個柵格顯示著從數(shù)據(jù)表中讀取的國家數(shù)據(jù)。支持在列頭對數(shù)據(jù)進(jìn)行排序, 輸入篩選條件進(jìn)行篩選。
可以瀏覽詳情,編輯,或刪除柵格中的每個國家。 還可以點擊柵格上方的 “Create Country” 按鈕通過表單創(chuàng)建新國家。
下面列出由 Gii 生成的文件,以便你研習(xí)功能和實現(xiàn), 或修改它們。
- 控制器:
controllers/CountryController.php
- 模型:
models/Country.php
和 models/CountrySearch.php
- 視圖:
views/country/*.php
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- 詳解在idea 中使用Mybatis Generator逆向工程生成代碼
- IDEA的崛起自己定義快捷生成代碼塊的詳細(xì)步驟
- Mybatis generator如何自動生成代碼
- Mybatis generator自動生成代碼插件實例解析
- 使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法
- MyBatis-plus+達(dá)夢數(shù)據(jù)庫實現(xiàn)自動生成代碼的示例
- Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細(xì)方法
- 如何使用mybatis-generator自動生成代碼
- 一個能生成精美代碼圖片的工具Carbon!讓看代碼成為一種享受