abnermouke / laravel
Laravel辅助开发运行工具集合(仅限Laravel使用)
Requires
This package is auto-updated.
Last update: 2026-07-25 02:35:42 UTC
README
前言
专为 Laravel 框架打造的一站式辅助开发工具集合,封装业务高频工具类、第三方SDK封装、通用助手函数,大幅提升开发效率。
一、项目简介
本包整合 Laravel 开发中高频使用的能力,内置依赖封装:
abnermouke/helpers:Abnermouke自研通用PHP工具助手库intervention/image:图片处理maatwebsite/excel:Excel导入导出overtrue/easy-sms:短信发送predis/predis:Redis客户端qiniu/php-sdk:七牛云存储fukuball/jieba-php:中文分词lustre/php-dfa-sensitive:敏感词过滤
适用场景
- Laravel 6/7/8/9/10/11 全版本项目
- 后台管理系统、API服务、SaaS多租户项目
- 需要文件处理、短信、云存储、分词、表格导出的业务
二、环境要求
| 依赖 | 版本要求 |
|---|---|
| PHP | >= 8.0 |
| Laravel | >= 6.0 |
| Composer | 2.x+ |
三、快速安装
1. Composer 引入依赖
# 稳定版安装
composer require abnermouke/laravel
开始配置
作用:执行自动加载刷新时,预加载包内置常量、底层助手初始化逻辑 打开项目根目录
composer.json,新增scripts节点配置:
{
"scripts": {
"post-autoload-dump": [
//
"Abnermouke\\Laravel\\AbnermoukeLaravelEvents::autoload"
]
}
}
配置完成后执行命令刷新自动加载:
composer dump-autoload
执行后会自动触发 AbnermoukeLaravelEvents::autoload 静态方法,完成包底层资源预加载。
手动基础配置(区分 Laravel 版本)
注册服务提供者
场景1:Laravel 8 / 9 / 10(旧版配置文件)
文件路径:config/app.php 找到 providers 数组,追加服务提供者:
'providers' => [ // 其他原有服务提供者... Abnermouke\Laravel\AbnermoukeLaravelServiceProvider::class, ],
Laravel 11+(新版无 config/app.php,路由文件注册)
文件路径:bootstrap/providers.php 直接在数组内追加:
return [ // 原有其他Provider Abnermouke\Laravel\AbnermoukeLaravelServiceProvider::class, ];
发布包全局配置文件
注册完成后执行发布命令,将包内置配置文件同步到项目 config/ 目录:
php artisan vendor:publish --provider="Abnermouke\Laravel\AbnermoukeLaravelServiceProvider"
执行后生成 全局配置文件,可自定义云存储、短信、支付、微信等第三方服务密钥。
注册全局基础中间件
Laravel 6 / 7 / 8 / 9 / 10
文件路径:app/Http/Kernel.php 找到 $middleware 全局中间件数组,添加:
protected $middleware = [ // 系统原有中间件 App\Http\Middleware\Abnermouke\BasicLaravelMiddleware::class, ];
Laravel 11+
Laravel11+ 移除 Kernel.php,中间件配置在 bootstrap/app.php,添加全局中间件:
return Application::configure(basePath: dirname(__DIR__)) ->withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { // 注册基础全局中间件 $middleware->append(App\Http\Middleware\Abnermouke\BasicLaravelMiddleware::class); }) ->withExceptions(function (Exceptions $exceptions) { // })->create();
说明:
BasicLaravelMiddleware提供统一请求过滤、跨域、请求参数标准化、全局异常捕获前置处理能力。
执行项目初始化脚手架命令
全部配置完成后,执行项目一键初始化命令,生成标准化目录、基础业务分层、统一异常处理、基础枚举等文件:
php artisan builder:laravel
新增自动加载全局助手文件
在根目录 composer.json 补充 autoload.files 配置,项目启动时自动加载业务全局助手函数:
"autoload": {
"files": [
"app/Helpers/auth.php",
"app/Helpers/response.php",
"app/Helpers/projects.php"
]
}
说明:执行初始化脚手架命令
builder:laravel后会自动生成上述三个助手文件,此处配置用于全局直接调用内部封装的业务函数。
推荐内置脚手架生成命令
本包 AbnermoukeLaravelServiceProvider 内置两套高频开发脚手架,大幅减少重复编码工作:
生成业务包模板 builder:package
php artisan builder:package 模块名
功能说明
一键生成完整业务模块分层文件,包含:
- 数据模型 Model
- 数据仓库 Repository
- 业务服务 Service
- 请求验证 DTO
- 枚举 Enum
- 控制器 Controller
- 标准 CURD 路由模板 适合后台管理、SaaS 业务模块快速搭建,自动遵循统一代码规范。
生成接口标准模板 builder:interface
php artisan builder:interface 模块名
功能说明
生成纯API接口标准化代码结构:
- 无视图依赖的轻量化控制器
- 统一分页、筛选、排序封装逻辑
- 标准JSON返回格式(成功/失败固定结构)
- 接口专用请求校验类 适合前后端分离API项目、对外开放接口开发。
常见部署问题 FAQ
Q1:执行 builder 命令提示 [Command "builder:laravel" is not defined]
- 确认已正确注册
AbnermoukeLaravelServiceProvider - 执行
composer dump-autoload重载自动加载 - 执行
php artisan clear-compiled清理框架缓存
Q2:全局中间件找不到 BasicLaravelMiddleware
- 必须先执行
php artisan builder:laravel才会自动生成中间件文件 - 检查中间件命名空间路径是否完全匹配
App\Http\Middleware\Abnermouke\BasicLaravelMiddleware
Q3:post-autoload-dump 脚本未自动执行
Composer 2.x 安全策略限制:第三方包内定义的scripts不会自动运行,必须在宿主项目根目录composer.json 配置scripts节点,不可仅在abnermouke/laravel包内配置。
Q4:Laravel11 注册Provider后不生效
确认修改文件为 bootstrap/providers.php,而非旧版 config/app.php,修改后清理缓存再测试。