一鍵菜單
說(shuō)明
支持手動(dòng)指定控制器、模型的類名及位置。
可將位置指定到主項(xiàng)目,例如控制器位置指定為/app/admin/controller/QuestionController.php
,
模型指定為/app/admin/model/Question.php
則會(huì)在主項(xiàng)目生成如下的文件結(jié)構(gòu)
app/admin/
├── controller
│?? └── QuestionController.php
├── model
│?? └── Question.php
└── view
└── question
├── index.html
├── insert.html
└── update.html
提示
在一鍵菜單之前,請(qǐng)預(yù)先在表格編輯->表單屬性里設(shè)置好各個(gè)字段的控件及參數(shù),這樣在生代碼時(shí),可以將控件參數(shù)一同生成,避免再次開(kāi)發(fā)。表單屬性編輯如下圖
特別注意
默認(rèn)情況下,一鍵菜單在主項(xiàng)目生成的文件沒(méi)有鑒權(quán),這意味著任何人都可以對(duì)這些文件發(fā)起訪問(wèn),原因是由于項(xiàng)目與應(yīng)用插件的配置是隔離的,應(yīng)用插件配置的鑒權(quán)中間件不會(huì)對(duì)主項(xiàng)目產(chǎn)生作用。
為了避免非法訪問(wèn),需要在主項(xiàng)目里配置鑒權(quán)中間件。為了讓鑒權(quán)中間件不影響整個(gè)主項(xiàng)目,一鍵菜單生成的代碼應(yīng)該生成到一個(gè)特性應(yīng)用下,例如{主項(xiàng)目}/app/admin/
下,則{主項(xiàng)目}/config/middleware.php
里的配置應(yīng)該如下
<?php
return [
// 本地admin應(yīng)用使用統(tǒng)一的webman/admin管理后臺(tái)鑒權(quán)
'admin' => [
plugin\admin\api\Middleware::class
],
];
將代碼生成到主項(xiàng)目下的一個(gè)好處就是與webman/admin
解耦,自己admin相關(guān)的業(yè)務(wù)代碼不會(huì)與webman/admin
的代碼參雜在一起,做版本控制代碼遷移以及webman/admin
升級(jí)都很方便。