從零開始學(xué)YII2框架(五)快速生成代碼工具 Gii 的使用
Yii2 框架 之所以稱之為高效快速開發(fā)的一款框架,是因為有一個神奇的工具Gii
用過Yii1框架的Coder都知道,Gii可以為你快速生成代碼,也就是說搭建一個可以增刪改查的WebApp可能一行代碼都不用寫。
當(dāng)然作為Coder,不寫代碼怎么能實現(xiàn)我們想要的功能呢。
上次介紹了如何安裝Yii框架,本次介紹一下如何使用gii工具快速實現(xiàn)CRUD功能。
框架安裝完成后可以通過如下鏈接訪問Gii工具
http://localhost/yii2test/backend/web/index.php?r=gii

Yii2的Gii工具使用了Bootstrap,對比Yii1看起來漂亮了許多。
yii2框架提供的生成工具有6個:Model,CRUD,Controller,F(xiàn)orm,Module,Extension
我安裝了一個yii2-kartikgii插件,此插件是用來生成Kartik模式的CRUD方法的。
本次就拿Kartik Crud配合默認(rèn)生成工具來講解。

模塊的生成
如果你想實現(xiàn)應(yīng)用模塊化, 那么Module Generator能幫助到你。點擊Module Generator生成模塊
生成一個名為“user”的模塊

點擊Preview會看到Gii會幫助我們生成三個文件,可以點擊鏈接預(yù)覽代碼。
點擊Generate生成代碼。
代碼生成完畢,需要配置文件backend/config/main.php,把模塊添加到應(yīng)用里。

瀏覽器輸入如下地址:
http://localhost/yii2test/backend/web/index.php?r=user
訪問的是user模塊

提示你
This is the view content for action "index". The action belongs to the controller "backend\modules\user\controllers\DefaultController" in the "user" module.
You may customize this page by editing the following file:
D:\WAMP\www\yii2test\backend\modules\user\views\default\index.php
這個界面內(nèi)容訪問的是模塊user下的defaultController執(zhí)行的是index這個action。
你可能需要自定義這個頁面通過修改模塊下的views文件index.php
模型的生成
模型的生成首先得配置數(shù)據(jù)庫配置文件,路徑:yii2test/common/config/main-local.php。

配置好數(shù)據(jù)庫,我們使用Model Generator來生成對應(yīng)的模型。

yii2會讀取數(shù)據(jù)庫中的表,如果數(shù)據(jù)庫中沒有user這個表。是無法讀取數(shù)據(jù)庫字段自動生成代碼的。
這里注意填寫namespace,帶有路徑的指定到模塊user下的models。
建議勾選 Enable I18N,可以國際化WebApp。點擊Generate生成代碼。
CRUD方法生成
這里我使用的是插件yii2-kartikgii。關(guān)于yii2-kartikgii的安裝和使用參照《Yii2 插件kartikgii》
下面來使用Kartik CRUD Generator來生成CRUD方法
需要注意的是Model Class、Search Model Class、Controller Class都需要配置路徑指定到相應(yīng)模塊;Model ID是user。
點擊Generator會生成8個可選的文件。主要是生成UserControler和View文件。
經(jīng)過上面三步。我們不經(jīng)意間就完成了MVC。那么我們看看自動生成的代碼為我們展現(xiàn)出來的有什么信息。
瀏覽器輸入地址
http://localhost/yii2test/backend/web/index.php?r=user/user

此頁面訪問的是模塊user下的user數(shù)據(jù)表模型CRUD方法。代碼生成時候默認(rèn)顯示了表中的5個字段。使用的是Kartikgii插件。對比框架自帶的CRUD方法生成的界面相對漂亮些。把表格放在bootstrap - panel標(biāo)簽下。并且添加了導(dǎo)出表格、重置表格等功能。
至此我們只是簡單的配置了下config文件,沒有編寫一行代碼。就實現(xiàn)了WebApp對數(shù)據(jù)表的操作功能。
Yii框架是不是很強大,很好用呢。至于我們對表怎么操作,完全可以自定義。后續(xù)就可以投入代碼編寫中了。
Yii框架幫助我們縮減了很多代碼開發(fā)的工作量??梢苑Q之為高效的PHP開發(fā)框架。
- Yii 訪問 Gii(腳手架)時出現(xiàn) 403 錯誤
- 深入淺析yii2-gii自定義模板的方法
- 從零開始學(xué)YII2框架(四)擴展插件yii2-kartikgii
- Yii查詢生成器(Query Builder)用法實例教程
- Yii不依賴Model的表單生成器用法實例
- yii通過小物件生成view的方法
- YII2框架中查詢生成器Query()的使用方法示例
- Yii 框架使用數(shù)據(jù)庫(databases)的方法示例
- Yii 框架使用Forms操作詳解
- Yii 框架應(yīng)用(Applications)操作實例詳解
- Yii框架應(yīng)用組件用法實例分析
- Yii 框架使用Gii生成代碼操作示例
相關(guān)文章
laravel中短信發(fā)送驗證碼的實現(xiàn)方法
在做用戶注冊和個人中心的安全管理時常常需要用到短信發(fā)送驗證碼,下面這篇文章主要給大家介紹了關(guān)于laravel中短信發(fā)送驗證碼的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
本文章來給各位同學(xué)介紹一下關(guān)于Php CURL模擬登陸論壇并采集數(shù)據(jù)實例,如果你對利用curl模擬登錄功能有興趣可進入?yún)⒖肌?/div> 2015-05-05
通過5個php實例細(xì)致說明傳值與傳引用的區(qū)別
今天有個同事問我傳值和傳引用有什么不同,這讓我想起了,剛學(xué)php的時候,那個時候做過很多項目,做東西多,就以為自己php掌握的差不多了,隨著時間的推移,越深入的學(xué)習(xí),越覺得自己知道的真的很少,很少2012-08-08最新評論

