概述
密钥管理服务提供了安全密钥生成功能,支持自定义字符类型和长度,使用密码学安全的随机数生成器。
安装
use YouHuJun\Tool\App\Facades\V1\Utils\Sign\KeyManagerFacade;
密钥管理服务提供了安全密钥生成功能,支持自定义字符类型和长度,使用密码学安全的随机数生成器。
use YouHuJun\Tool\App\Facades\V1\Utils\Sign\KeyManagerFacade;
认证签名服务提供了 HMAC-SHA256 签名生成功能,用于API接口认证、数据完整性校验等场景。
use YouHuJun\Tool\App\Facades\V1\Utils\Sign\AuthSignFacade;
ShardFacade 提供了数据库分片计算功能,支持分库分表策略,适用于大流量、大数据量的业务场景。通过业务ID(用户UID/店铺UID等业务实体ID)计算分片信息,实现数据的水平拆分。
configKey,避免配置混淆在 VSCode 中,PHP 也有类似 JS 的 ESLint 的工具来统一代码规范,核心是通过 PHP_CodeSniffer(PHPCS,负责代码规范检查) + PHP-CS-Fixer(负责自动修复规范) 配合 VSCode 扩展实现,流程和 ESLint 很像
用 Composer 全局安装 PHPCS 和 PHP-CS-Fixer(需要先安装 Composer):
# 全局安装PHP_CodeSniffer(检查规范)
composer global require squizlabs/php_codesniffer
# 全局安装PHP-CS-Fixer(自动修复规范)
composer global require friendsofphp/php-cs-fixer
SnowflakeFacade 提供了基于雪花算法的分布式唯一ID生成功能,基于 godruoyi/php-snowflake 库实现。雪花算法生成的ID是递增的、唯一的、有序的,非常适合用于用户ID、订单ID等场景。
注意
建议在实际开发中可以参照laravel-fast-api,组件化开发自己的业务逻辑.这样便于后续维护以及扩展
生成门面代理以及门面服务(Generate a facade agent and a facade service)
php artisan call:facade 路径/名称
注意
在我们实际项目开发过程中,尤其是现代项目大多是前后端分离,因此laravel自带的web登录验证和权限往往不适用.这个时候就需要自定义,因为这里所说的权限管理,包含着中间件,控制器,授权策略.所以放到此篇来讲
下面我们以后台api接口为例,先看登录验证
如何使用laravel-fast-api-youhujun组件包的自定义验证规则
主要介绍如何使用laravel-fast-api-youhujun组件包的事件
注意
选择用事件来处理,可以简单快速复用代码逻辑.便于后续代码的维护
use App\Events\Common\V1\User\User\CommonUserRegisterEvent;
laravel-fast-api 分别在 分别封装了后台和前端以及公共和验证规则的异常处理
提示
为了方便快速定位异常位置,统一在自定义配置文件处,统一定义异常及事件码.同时为了方便维护,根据业务不同业务逻辑和模块,分开定义异常和事件码