abnermouke/laravel

Laravel辅助开发运行工具集合(仅限Laravel使用)

Maintainers

Package info

github.com/abnermouke/laravel

pkg:composer/abnermouke/laravel

Transparency log

Statistics

Installs: 8

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

26.7.3 2026-07-25 02:34 UTC

This package is auto-updated.

Last update: 2026-07-25 02:35:42 UTC


README

前言

Packagist Version PHP Version License

专为 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]

  1. 确认已正确注册 AbnermoukeLaravelServiceProvider
  2. 执行 composer dump-autoload 重载自动加载
  3. 执行 php artisan clear-compiled 清理框架缓存

Q2:全局中间件找不到 BasicLaravelMiddleware

  1. 必须先执行 php artisan builder:laravel 才会自动生成中间件文件
  2. 检查中间件命名空间路径是否完全匹配 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,修改后清理缓存再测试。