阅读时间:1 分钟
0 字
第一个模块
以下示例创建 Demo 模块,包含菜单与一个简单页面。
1. 创建目录
app/Demo/
App.php
app.json
Admin/
Models/2. 模块入口
php
<?php
declare(strict_types=1);
namespace App\Demo;
use Core\App\AppExtend;
use Core\Bootstrap;
class App extends AppExtend
{
public function register(Bootstrap $app): void
{
// 可在此注册事件/服务
}
}3. 菜单配置(app.json)
json
{
"name": "duxweb/demo",
"description": "Demo Application",
"version": "0.1.0",
"adminMenu": [
{
"type": "menu",
"label": "示例页面",
"name": "demo.index",
"path": "demo/index",
"icon": "i-tabler:star",
"loader": "Demo/Index/index",
"hidden": false
}
]
}4. 后台页面
创建 app/Demo/Admin/Index/index.vue:
vue
<script setup lang="ts">
</script>
<template>
<DuxPage>
<DuxPageHeader title="示例页面" />
<DuxPageBody>
<div class="p-4">Hello Dux PHP Admin</div>
</DuxPageBody>
</DuxPage>
</template>5. 注册模块
编辑 config/app.toml:
toml
registers = [ "App\\System\\App", "App\\Data\\App", "App\\Demo\\App" ]6. 同步菜单
bash
php dux menu:sync刷新 /manage/,即可看到菜单。