savannabits / modular

将您的 Laravel 代码组织成模块

0.1.1 2024-04-09 18:54 UTC

This package is auto-updated.

Last update: 2024-09-08 05:45:18 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

本包为您提供将 Laravel 代码组织成模块的最简单方法。每个模块都是一个包含完整 Laravel 包所需所有文件的独立目录。我们已尽可能使用或扩展现有的 laravel 命令和结构,以提供 Laravel 持续提供的丰富功能,并使维护包随 Laravel 的发展变得更加容易。

最低要求

  • Laravel 11 或更高版本
  • PHP 8.2 或更高版本

安装

您可以通过 composer 安装此包

composer require savannabits/modular

安装包后,运行以下命令以准备您的应用程序生成模块

php artisan modular:install

按照提示完成安装。

用法

本包提供几个命令,允许您在模块中生成标准的 Laravel 文件和类。

模块生成

然而,首先您必须使用以下命令生成一个模块

php artisan modular:make ModuleName

上述命令将生成一个类似于标准 laravel App 的目录结构,并添加一个服务提供器以允许注册模块。模块将生成在您的项目 /modules 目录中。此外,该命令将把模块作为 composer 文件中的符号链接本地包安装,以便可以自动加载。此过程也可以通过使用以下命令触发

php artisan modular:activate ModuleName

激活模块

运行以下命令以激活模块

php artisan modular:activate ModuleName

此命令将模块符号链接到 composer 文件并运行 composer dump-autoload 以使模块可供应用程序使用。

停用模块

运行以下命令以停用模块

php artisan modular:deactivate ModuleName

此命令将从 composer 文件中删除模块并运行 composer dump-autoload 以从应用程序中删除模块。

生成控制器

要在模块中生成控制器,运行以下命令并按照提示操作

php artisan modular:make-controller

生成模型

要在模块中生成模型,运行以下命令并按照提示操作

php artisan modular:make-model

生成迁移

要在模块中生成迁移,运行以下命令并按照提示操作

php artisan modular:make-migration

生成工厂

要在模块中生成工厂,运行以下命令并按照提示操作

php artisan modular:make-factory

生成种子

要在模块中生成种子,运行以下命令并按照提示操作

php artisan modular:make-seeder

生成策略

要在模块中生成策略,运行以下命令并按照提示操作

php artisan modular:make-policy

生成请求

要在模块中生成请求,运行以下命令并按照提示操作

php artisan modular:make-request

生成资源

要在模块中生成资源,运行以下命令并按照提示操作

php artisan modular:make-resource

生成测试

要在模块中生成测试,运行以下命令并按照提示操作

php artisan modular:make-test

生成作业

要在模块中生成作业,运行以下命令并按照提示操作

php artisan modular:make-job

生成控制台命令

要在模块中生成控制台命令,运行以下命令并按照提示操作

php artisan modular:make-command

生成提供者

要在模块中生成提供者,运行以下命令并按照提示操作

php artisan modular:make-provider

生成视图

要在模块中生成视图,运行以下命令并按照提示操作

php artisan modular:make-view

辅助函数

此包还提供了一些辅助函数,以简化模块的工作。

获取所有模块

要获取应用程序中的所有模块,可以使用以下辅助函数

use Savannabits\Modular\Facades\Modular;

$modules = Modular::allModules();

上述代码将为应用程序中所有活动模块的 Savannabits\Modular\Module 类的实例返回一个集合。

获取特定模块

要获取应用程序中的特定模块,可以使用以下辅助函数

use Savannabits\Modular\Facades\Modular;

$module = Modular::module('ModuleName');

测试

composer test

变更日志

请参阅 变更日志 了解最近更改的详细信息。

贡献

请参阅 贡献指南 了解详细信息。

安全漏洞

请查阅 我们的安全策略 了解如何报告安全漏洞。

致谢

许可协议

MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。