火山PHP / hyper-admin
Hyper MVT框架的简单管理面板
v1.0.0
2024-08-07 12:31 UTC
README
Hyper Admin - README
Hyper Admin
Hyper MVT框架的管理面板
简介
Hyper Admin 是为 Hyper MVT 框架设计的简单而强大的管理面板。它提供了一个用户友好的界面来管理您的应用程序数据,类似于 Django 的 contrib admin 面板。
安装
建议使用 Composer 安装 Hyper Admin。
要安装,请运行以下命令
composer require vulcanphp/hyper-admin
设置 Hyper Admin
在您的应用程序中注册 Hyper Admin
要设置 Hyper Admin,您需要将其与您的应用程序的 bootstrap 文件合并。
打开您的 app/bootstrap.php
文件并添加以下代码
use admin\admin; return new application( providers: [[new admin(), 'setup']], env: [ 'admin' => __DIR__ . '/web/admin.php', ], );
配置管理设置
创建一个新文件 app/web/admin.php
并配置您的管理设置。此文件将定义您的管理面板的用户、模型、菜单和设置。
示例配置
# app/web/admin.php return [ 'user' => ['name' => 'admin', 'password' => 'admin'], 'models' => [ // Register models to manage ], 'menus' => [ // Register admin menu with template or callback // Example 1: ['settings' => __DIR__ . '/admin/settings.php'] // Example 2: ['cms' => function() {}] // Example 3: ['api' => 'Hello From Api Key'] ], 'settings' => [ // Register all grouped settings 'general' => [ // Register inputs for this group. // Example 1: ['type' => 'text', 'name' => 'title'] // Example 2: ['type' => 'file', 'name' => 'logo'] ], // ... more groped settings ], ];
设置使用方法
您可以在 app/bootstrap.php
文件中的 settings 数组中获取注册到 app/bootstrap.php
文件中的设置值。
// get a setting with default value var_dump(setting('general', 'title', 'My Default Title')); // get settings instance var_dump(settings());
模型视图使用方法
在管理面板中注册模型时,您需要配置额外的模型设置以自定义其行为和外观。
基本模型注册
对于基本模型注册,只需包含模型类
# app/web/admin.php use models\subject; return [ 'models' => [ subject::class, ], ];
自定义模型注册
对于更自定义的设置,请使用 modelView
类。以下是一个完整示例
# app/web/admin.php use models\subject; use models\student; use admin\core\modelView; return [ 'models' => [ subject::class, // Basic model new modelView( model: student::class, name: 'student', name_plural: 'students', fields: ['id', 'name', 'age', 'department'], search: ['name'], filter: ['gender' => ['M' => 'Male', 'F' => 'Female']], with: ['department'], where: ['deleted' => false], order: 'id DESC', actions: ['Export Selected Students Result Sheet' => admin_url('student/export')] ), // Customized model ], ];
modelView
参数说明
model
: 要管理的模型类。name
: 模型的单数名称(例如,'学生')。name_plural
: 模型的复数名称(例如,'学生们')。fields
: 在管理面板中显示的字段。search
: 包含在搜索功能中的字段。filter
: 应用过滤器(例如,带有选项的性别过滤器)。with
: 包含的关系(例如,'部门')。where
: 应用条件(例如,仅包含未删除的记录)。order
: 记录的默认排序(例如,'id DESC')。actions
: 模型可用的自定义操作(例如,导出功能)。
抽屉使用方法
对于本地存储的数组,请使用 drawer
类。以下是一个完整示例
use admin\core\drawer; $drawer = new drawer(__DIR__ .'/settings.dr'); // set a value into drawer $drawer->set(layer: 'general', key: 'title', value: 'My Hyper App'); // get a value from drawer var_dump($drawer->get(layer: 'general', key: 'title', default: 'My Default Title'));
drawer
函数说明
has
: 检查抽屉中是否存在值。is
: 检查抽屉中的值是否为真。get
: 从抽屉中获取值。set
: 将值设置到抽屉中。setup
: 将多个值设置到抽屉中。remove
: 从抽屉中删除值。