怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個代碼生成工具 ?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)專注于楊浦網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供楊浦營銷型網(wǎng)站建設(shè),楊浦網(wǎng)站制作、楊浦網(wǎng)頁設(shè)計(jì)、楊浦網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造楊浦網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供楊浦網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。Yii2 框架 之所以稱之為高效快速開發(fā)的一款框架,是因?yàn)橛幸粋€神奇的工具Gii
用過Yii1框架的Coder都知道,Gii可以為你快速生成代碼,也就是說搭建一個可以增刪改查的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,對比Yii1看起來漂亮了許多。
yii2框架提供的生成工具有6個:Model,CRUD,Controller,F(xiàn)orm,Module,Extension
我安裝了一個yii2-kartikgii插件,此插件是用來生成Kartik模式的CRUD方法的。
本次就拿Kartik Crud配合默認(rèn)生成工具來講解。
模塊的生成
如果你想實(shí)現(xiàn)應(yīng)用模塊化, 那么Module Generator能幫助到你。點(diǎn)擊Module Generator生成模塊
生成一個名為“user”的模塊
點(diǎn)擊Preview會看到Gii會幫助我們生成三個文件,可以點(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
這個界面內(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。點(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會生成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文件,沒有編寫一行代碼。就實(shí)現(xiàn)了WebApp對數(shù)據(jù)表的操作功能。
Yii框架是不是很強(qiáng)大,很好用呢。至于我們對表怎么操作,完全可以自定義。后續(xù)就可以投入代碼編寫中了。
Yii框架幫助我們縮減了很多代碼開發(fā)的工作量??梢苑Q之為高效的PHP開發(fā)框架。
看完上述內(nèi)容,你們掌握怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個代碼生成工具 的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!