溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

發(fā)布時(shí)間:2020-12-22 14:07:41 來源:億速云 閱讀:242 作者:Leah 欄目:開發(fā)技術(shù)

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具 ?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

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實(shí)現(xiàn)一個(gè)代碼生成工具

Yii2的Gii工具使用了Bootstrap,對比Yii1看起來漂亮了許多。

yii2框架提供的生成工具有6個(gè):Model,CRUD,Controller,F(xiàn)orm,Module,Extension

我安裝了一個(gè)yii2-kartikgii插件,此插件是用來生成Kartik模式的CRUD方法的。

本次就拿Kartik Crud配合默認(rèn)生成工具來講解。

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

模塊的生成

如果你想實(shí)現(xiàn)應(yīng)用模塊化, 那么Module Generator能幫助到你。點(diǎn)擊Module Generator生成模塊

生成一個(gè)名為“user”的模塊

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

點(diǎn)擊Preview會看到Gii會幫助我們生成三個(gè)文件,可以點(diǎn)擊鏈接預(yù)覽代碼。

點(diǎn)擊Generate生成代碼。

代碼生成完畢,需要配置文件backend/config/main.php,把模塊添加到應(yīng)用里。

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

瀏覽器輸入如下地址:

http://localhost/yii2test/backend/web/index.php?r=user

訪問的是user模塊

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

提示你

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。

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

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

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

yii2會讀取數(shù)據(jù)庫中的表,如果數(shù)據(jù)庫中沒有user這個(gè)表。是無法讀取數(shù)據(jù)庫字段自動(dòng)生成代碼的。

這里注意填寫namespace,帶有路徑的指定到模塊user下的models。

建議勾選 Enable I18N,可以國際化WebApp。點(diǎn)擊Generate生成代碼。

CRUD方法生成

這里我使用的是插件yii2-kartikgii。關(guān)于yii2-kartikgii的安裝和使用參照《Yii2 插件kartikgii》

下面來使用Kartik CRUD Generator來生成CRUD方法怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

需要注意的是Model Class、Search Model Class、Controller Class都需要配置路徑指定到相應(yīng)模塊;Model ID是user。

點(diǎn)擊Generator會生成8個(gè)可選的文件。主要是生成UserControler和View文件。

經(jīng)過上面三步。我們不經(jīng)意間就完成了MVC。那么我們看看自動(dòng)生成的代碼為我們展現(xiàn)出來的有什么信息。

瀏覽器輸入地址

http://localhost/yii2test/backend/web/index.php?r=user/user

怎么在YII2框架中利用 Gii實(shí)現(xiàn)一個(gè)代碼生成工具

此頁面訪問的是模塊user下的user數(shù)據(jù)表模型CRUD方法。代碼生成時(shí)候默認(rèn)顯示了表中的5個(gè)字段。使用的是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)一個(gè)代碼生成工具 的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI