mirror of
https://devops.lemonos.cn/lawson/FendxPHP.git
synced 2026-06-15 15:02:49 +08:00
- 创建用户表(users)包含基本信息和认证字段 - 创建角色表(roles)用于权限控制 - 创建权限表(permissions)定义系统权限 - 创建用户角色关联表(user_roles)建立用户与角色关系 - 创建角色权限关联表(role_permissions)建立角色与权限关系 - 创建迁移记录表(migrations)追踪数据库变更 - 添加AdminController提供管理员面板功能 - 实现系统监控、配置管理、缓存清理等功能 - 添加AOP切面编程支持的各种通知类型 - 实现告警管理AlertManager支持多渠道告警 - 添加文档注解接口规范
34 lines
1020 B
PHP
34 lines
1020 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Fendx\Common\Exception;
|
|
|
|
class BusinessException extends BaseException
|
|
{
|
|
public function __construct(int $code, string $messageKey, array $data = [], ?\Throwable $previous = null)
|
|
{
|
|
$message = $this->getMessageByKey($messageKey, $data);
|
|
parent::__construct($message, $code, $previous, $data);
|
|
}
|
|
|
|
private function getMessageByKey(string $key, array $data = []): string
|
|
{
|
|
$messages = [
|
|
'DB_CONNECT_FAILED' => '数据库连接失败: {message}',
|
|
'VALIDATION_FAILED' => '参数验证失败',
|
|
'UNAUTHORIZED' => '未授权访问',
|
|
'FORBIDDEN' => '禁止访问',
|
|
'NOT_FOUND' => '资源不存在',
|
|
'SERVER_ERROR' => '服务器内部错误',
|
|
];
|
|
|
|
$message = $messages[$key] ?? $key;
|
|
|
|
foreach ($data as $k => $v) {
|
|
$message = str_replace('{' . $k . '}', (string)$v, $message);
|
|
}
|
|
|
|
return $message;
|
|
}
|
|
}
|