摘要:簡(jiǎn)述是一個(gè)強(qiáng)大的代碼生成器,主要用于后臺(tái)代碼生成。下面列出由生成的文件,以便你研習(xí)功能和實(shí)現(xiàn),或修改它們控制器模型和視圖補(bǔ)充被設(shè)計(jì)成高度可定制和可擴(kuò)展的代碼生成工具。使用生成代碼是一個(gè)基于界面的代碼生成工具。
簡(jiǎn)述
Gii 是一個(gè)強(qiáng)大的代碼生成器,主要用于后臺(tái)代碼生成。
開始 GiiGii 是 Yii 中的一個(gè)模塊。可以通過配置應(yīng)用的 yiibaseApplication::modules 屬性開啟它。通常來講在 config/web.php 文件中會(huì)有以下配置代碼:
$config = [ ... ]; if (YII_ENV_DEV) { $config["bootstrap"][] = "gii"; $config["modules"]["gii"] = "yiigiiModule"; }
這段配置表明,如果當(dāng)前是開發(fā)環(huán)境,應(yīng)用會(huì)包含 gii 模塊,模塊類是 yiigiiModule。
如果你檢查應(yīng)用的入口腳本 web/index.php,將看到這行代碼將 YII_ENV_DEV 設(shè)為 true:
defined("YII_ENV") or define("YII_ENV", "dev");
鑒于這行代碼的定義,應(yīng)用處于開發(fā)模式下,按照上面的配置會(huì)打開 Gii 模塊。你可以直接通過 URL 訪問 Gii:
http://hostname/index.php?r=gii
補(bǔ)充: 如果你通過本機(jī)以外的機(jī)器訪問 Gii,請(qǐng)求會(huì)被出于安全原因拒絕。你可以配置 Gii 為其添加允許訪問的 IP 地址:
"gii" => [ "class" => "yiigiiModule", "allowedIPs" => ["127.0.0.1", "::1", "192.168.0.*", "192.168.178.20"] // 按需調(diào)整這里 ],
想要覆寫已存在文件,選中 “overwrite” 下的復(fù)選框然后點(diǎn)擊 “Generator”。如果是新文件,只點(diǎn)擊 “Generator” 就好。
接下來你會(huì)看到一個(gè)包含已生成文件的說明頁(yè)面。如果生成過程中覆寫過文件,還會(huì)有一條信息說明代碼是重新生成覆蓋的。
生成 CRUD 代碼CRUD 代表增,查,改,刪操作,這是絕大多數(shù) Web 站點(diǎn)常用的數(shù)據(jù)處理方式。
選擇 Gii 中的 “CRUD Generator” (點(diǎn)擊 Gii 首頁(yè)的鏈接)去創(chuàng)建 CRUD 功能。例如:
Model Class: appmodelsCountry
Search Model Class: appmodelsCountrySearch
Controller Class: appcontrollersCountryController
然后點(diǎn)擊 “Preview” 按鈕。你會(huì)看到下述將要生成的文件列表。
如果你之前創(chuàng)建過 controllers/CountryController.php 和 views/country/index.php 文件,選中 “overwrite” 下的復(fù)選框覆寫它們(之前的文件沒能全部支持 CRUD)。
試運(yùn)行用瀏覽器訪問下面的 URL 查看生成代碼的運(yùn)行:
http://hostname/index.php?r=country/index
可以看到一個(gè)柵格顯示著從數(shù)據(jù)表中讀取的國(guó)家數(shù)據(jù)。支持在列頭對(duì)數(shù)據(jù)進(jìn)行排序,輸入篩選條件進(jìn)行篩選。
下面列出由 Gii 生成的文件,以便你研習(xí)功能和實(shí)現(xiàn),或修改它們:
控制器:controllers/CountryController.php
模型:models/Country.php 和 models/CountrySearch.php
視圖:views/country/*.php
補(bǔ)充:Gii 被設(shè)計(jì)成高度可定制和可擴(kuò)展的代碼生成工具。使用它可以大幅提高應(yīng)用開發(fā)速度。
使用 Gii 生成代碼1、Gii 是一個(gè)基于 web 界面的代碼生成工具。
2、Model Generator 創(chuàng)建模型類代碼時(shí),注意表名(Table Name)和模型類的對(duì)應(yīng)(Model Class);命名空間路徑(Namespace)的確認(rèn)。
3、CURD Generator 生成代碼時(shí),注意調(diào)用的模塊目錄所在路徑,在設(shè)置路徑時(shí)注意 Model 和 Search 的路徑,還有其他類路徑(Controller 和 View)的設(shè)置,避免出現(xiàn)路徑錯(cuò)誤的問題。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/21612.html
摘要:認(rèn)證事件類在登錄和注銷流程引發(fā)一些事件。成功注銷后引發(fā)。提供兩種授權(quán)方法存取控制過濾器和基于角色的存取控制。允許已認(rèn)證用戶執(zhí)行操作。指定一個(gè)回調(diào)函數(shù)用于判定該規(guī)則是否滿足條件。 簡(jiǎn)述 在程序開發(fā)過程中,往往都不能忽視安全問題,無論你的框架有多么完美,都會(huì)有破綻,所以完善自己的系統(tǒng),從程序開發(fā)的安全角度去思考問題,把一切潛在的危機(jī)扼殺在搖籃中。 認(rèn)證(Authentication) 認(rèn)證...
摘要:簡(jiǎn)述模塊是中的架構(gòu)的板塊,主要負(fù)責(zé)數(shù)據(jù)的展示,渲染模板文件,展示數(shù)據(jù)內(nèi)容。此外在一個(gè)視圖中還可以引入多個(gè)視圖文件,也是通過方法實(shí)現(xiàn)。布局文件的數(shù)據(jù)默認(rèn)以顯示,也可以用數(shù)據(jù)塊的形式渲染到視圖上。必須要確認(rèn)生成一次,才會(huì)正式生成新首頁(yè)。 簡(jiǎn)述 View模塊是Yii中的MVC架構(gòu)的V板塊,主要負(fù)責(zé)數(shù)據(jù)的展示,渲染模板文件,展示數(shù)據(jù)內(nèi)容。 基本概念 MVC在Yii里面有一個(gè)Views文件夾,里...
摘要:運(yùn)行來安裝指定的擴(kuò)展。這更便于用戶辨別是否是的擴(kuò)展。當(dāng)用戶運(yùn)行安裝一個(gè)擴(kuò)展時(shí),文件會(huì)被自動(dòng)更新使之包含新擴(kuò)展的信息。上述代碼表明該擴(kuò)展依賴于包。例如,上述的條目聲明將對(duì)應(yīng)于別名。為達(dá)到這個(gè)目的,你應(yīng)當(dāng)在公開發(fā)布前做測(cè)試。 簡(jiǎn)述 擴(kuò)展是專門設(shè)計(jì)的在 Yii 應(yīng)用中隨時(shí)可拿來使用的, 并可重發(fā)布的軟件包。 基礎(chǔ) 例如, yiisoft/yii2-debug 擴(kuò)展在你的應(yīng)用的每個(gè)頁(yè)面底部添加...
摘要:把所有的增量數(shù)據(jù)庫(kù)遷移提交到生產(chǎn)環(huán)境數(shù)據(jù)庫(kù)當(dāng)中。如果其中任意一個(gè)遷移提交失敗了,那么這條命令將會(huì)退出并停止剩下的那些還未執(zhí)行的遷移。執(zhí)行這條命令期間不會(huì)有任何的遷移會(huì)被提交或還原。 簡(jiǎn)述 數(shù)據(jù)遷移就是數(shù)據(jù)庫(kù)表在團(tuán)隊(duì)建的遷移操作,達(dá)到團(tuán)隊(duì)相互間的信息同步,數(shù)據(jù)統(tǒng)一。 數(shù)據(jù)庫(kù)遷移 一般步驟: 1、在 yii2 的 migrate 中,通常用來對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)表進(jìn)行修改操作,主要對(duì)結(jié)構(gòu)和小部分?jǐn)?shù)...
摘要:它由一個(gè)或多個(gè)類組成,它們?cè)诳刂婆_(tái)環(huán)境下通常被稱為命令。控制臺(tái)入口腳本通常被稱為,位于應(yīng)用程序的根目錄。選項(xiàng)通過覆蓋在中的方法,你可以指定可用于控制臺(tái)命令選項(xiàng)。參數(shù)將傳遞給請(qǐng)求的子命令對(duì)應(yīng)的操作方法。通常,執(zhí)行成功的命令會(huì)返回。 簡(jiǎn)述 控制臺(tái)應(yīng)用程序的結(jié)構(gòu)非常類似于 Yii 的一個(gè) Web 應(yīng)用程序,主要用于終端服務(wù)器執(zhí)行。 控制臺(tái)命令 控制臺(tái)應(yīng)用程序的結(jié)構(gòu)非常類似于 Yii 的一個(gè) ...
閱讀 1599·2021-11-02 14:48
閱讀 3651·2019-08-30 15:56
閱讀 2767·2019-08-30 15:53
閱讀 3208·2019-08-30 14:09
閱讀 3093·2019-08-30 12:59
閱讀 2852·2019-08-29 18:38
閱讀 2692·2019-08-26 11:41
閱讀 2209·2019-08-23 16:45