99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

用 Gii 生成代碼(Generating Code with Gii)

2018-02-24 15:40 更新

使用 Gii 生成代碼

本章將介紹如何使用?Gii?去自動生成 Web 站點常用功能的代碼。使用 Gii 生成代碼非常簡單,只要按照 Gii 頁面上的介紹輸入正確的信息即可。

貫穿本章節(jié),你將會學到:

  • 在你的應用中開啟 Gii
  • 使用 Gii 去生成活動記錄類
  • 使用 Gii 去生成數(shù)據(jù)表操作的增查改刪(CRUD)代碼
  • 自定義 Gii 生成的代碼

開始 Gii

Gii?是 Yii 中的一個模塊??梢酝ㄟ^配置應用的 yii\base\Application::modules 屬性開啟它。通常來講在?config/web.php?文件中會有以下配置代碼:

$config = [ ... ];

if (YII_ENV_DEV) {
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = 'yii\gii\Module';
}

這段配置表明,如果當前是開發(fā)環(huán)境,應用會包含?gii?模塊,模塊類是 yii\gii\Module。

如果你檢查應用的入口腳本?web/index.php,將看到這行代碼將?YII_ENV_DEV?設為 true:

defined('YII_ENV') or define('YII_ENV', 'dev');

鑒于這行代碼的定義,應用處于開發(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擊文件名預覽內(nèi)容。

如果你已經(jīng)創(chuàng)建過同樣的文件,使用 Gii 會覆寫它,點擊文件名旁邊的?diff?能查看現(xiàn)有文件與將要生成的文件的內(nèi)容區(qū)別。

想要覆寫已存在文件,選中 “overwrite” 下的復選框然后點擊 “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” 按鈕。你會看到下述將要生成的文件列表。

[[NEED THE IMAGE HERE / 等待官方補充圖片]]

如果你之前創(chuàng)建過?controllers/CountryController.php?和?views/country/index.php?文件(在指南的使用數(shù)據(jù)庫章節(jié)),選中 “overwrite” 下的復選框覆寫它們(之前的文件沒能全部支持 CRUD)。

試運行

用瀏覽器訪問下面的 URL 查看生成代碼的運行:

http://hostname/index.php?r=country/index

可以看到一個柵格顯示著從數(shù)據(jù)表中讀取的國家數(shù)據(jù)。支持在列頭對數(shù)據(jù)進行排序,輸入篩選條件進行篩選。

可以瀏覽詳情,編輯,或刪除柵格中的每個國家。還可以點擊柵格上方的 “Create Country” 按鈕通過表單創(chuàng)建新國家。

下面列出由 Gii 生成的文件,以便你研習功能和實現(xiàn),或修改它們。

  • 控制器:controllers/CountryController.php
  • 模型:models/Country.php?和?models/CountrySearch.php
  • 視圖:views/country/*.php

補充:Gii 被設計成高度可定制和可擴展的代碼生成工具。使用它可以大幅提高應用開發(fā)速度。請參考?Gii?章節(jié)了解更多內(nèi)容。

總結

本章學習了如何使用 Gii 去生成為數(shù)據(jù)表中數(shù)據(jù)實現(xiàn)完整 CRUD 功能的代碼。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號