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

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

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

點(diǎn)擊Preview會(huì)看到Gii會(huì)幫助我們生成三個(gè)文件,可以點(diǎn)擊鏈接預(yù)覽代碼。
點(diǎn)擊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
這個(gè)界面內(nèi)容訪問的是模塊user下的defaultController執(zhí)行的是index這個(gè)action。
你可能需要自定義這個(gè)頁面通過修改模塊下的views文件index.php
模型的生成
模型的生成首先得配置數(shù)據(jù)庫配置文件,路徑:yii2test/common/config/main-local.php。

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

yii2會(huì)讀取數(shù)據(jù)庫中的表,如果數(shù)據(jù)庫中沒有user這個(gè)表。是無法讀取數(shù)據(jù)庫字段自動(dòng)生成代碼的。
這里注意填寫namespace,帶有路徑的指定到模塊user下的models。
建議勾選 Enable I18N,可以國(guó)際化WebApp。點(diǎn)擊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。
點(diǎn)擊Generator會(huì)生成8個(gè)可選的文件。主要是生成UserControler和View文件。
經(jīng)過上面三步。我們不經(jīng)意間就完成了MVC。那么我們看看自動(dòng)生成的代碼為我們展現(xiàn)出來的有什么信息。
瀏覽器輸入地址
http://localhost/yii2test/backend/web/index.php?r=user/user

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

