Files
hyperf-admin/docs/backend/components/business/desc.md
2021-04-12 10:05:55 +08:00

2.7 KiB

基础结构

业务组件是一个可用功能的最小单元, 这个功能必须具有一定的通用性, 一般包含控制器, Model, 安装命令, DB, 路由, ConfigProvider

将这个单一功能封装为通用的业务组件后, 它将可以在任何基于hyperf-amdin构建的项目中引用, 已达到更高层次的复用.

关于基础组件的选择

# 若组件强依赖用户信息, 请基于 admin 开发
composer require hyperf-admin/admin

# 若不依赖用户信息, 请基于 base-utils 开发
composer require hyperf-amdin/base-utils

下面是data-focus 数据面板组件的完整结构

├── README.md
├── composer.json
└── src
    ├── ConfigProvider.php
    ├── Controller
    │   ├── DsnController.php
    │   ├── PluginFunctionController.php
    │   ├── ReportChangeLogController.php
    │   └── ReportsController.php
    ├── Install
    │   ├── InstallCommand.php
    │   └── install.sql
    ├── Model
    │   ├── Dsn.php
    │   ├── PluginFunction.php
    │   ├── ReportChangeLog.php
    │   └── Reports.php
    ├── Service
    │   └── Dsn.php
    ├── Util
    │   ├── BootAppConfListener.php
    │   ├── CodeRunner.php
    │   ├── PHPSandbox.php
    │   ├── SandboxException.php
    │   ├── SimpleHtmlDom.php
    │   ├── ValidatorVisitor.php
    │   └── func.php
    ├── config
        └── routes.php

其他的业务组件也基本于此类似.

安装与使用

composer require hyperf-admin/****

php bin/hyperf.php

可以查看到相关安装命令

qIKtC8

开发环境执行相应命令, 安装依赖的db结构即可, 在此之前请先确认.env 中已配置好相应连接信息.

若是生产环境, 应该联系DBA操作, 并提供相应目录下的sql文件.

然后将相应的菜单添加到后台即可使用.

!> 这里的组件菜单, 后期可以优化成配置文件导入的方式, 会更简单些

业务组件的db依赖问题, 参见 src/cron-center/src/ConfigProvider.phpdatabases

'databases' => [
    'config_center' => db_complete([
        'host' => env('CONFIG_CENTER_DB_HOST', env('HYPERF_ADMIN_DB_HOST')),
        'database' => env('CONFIG_CENTER_DB_NAME', env('HYPERF_ADMIN_DB_NAME')),
        'username' => env('CONFIG_CENTER_DB_USER', env('HYPERF_ADMIN_DB_USER')),
        'password' => env('CONFIG_CENTER_DB_PWD', env('HYPERF_ADMIN_DB_PWD')),
    ]),
],

组件可以使用自己单独的库配置, 默认使用 hyperf_amdin 的主db配置.