xcms/modules

Laravel模块管理器

维护者

详细信息

github.com/x-cms/modules

源代码

问题

安装: 21

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

公开问题: 0

类型:laravel

v1.1.2 2017-05-19 03:49 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:29:01 UTC


README

当你在小型项目上工作时,你会觉得Laravel默认结构已经足够。当你的项目增长时,你会考虑将你的应用程序分解成模块,其中每个模块将包含所有的资源,如控制器、模型、视图、迁移、配置等。这个laravel-module-manager包将帮助你轻松管理Laravel模块化应用程序。

安装

composer require mrabbani/laravel-module-manager

将模块管理器服务提供者添加到config/app.php文件中

Mrabbani\ModuleManager\Providers\ModuleProvider::class,

要创建新的模块,运行以下命令

php artisan module:create name-of-your-module
php artisan module:install {module_alias_name}

如果你的模块名称是module1,模块结构将是

Module Structure

配置

默认情况下,所有模块都将放置在你的应用程序基本目录下的modules目录中。如果你想通过module_manager配置文件更改发布,请使用以下命令:

php artisan vendor:publish

现在你可以通过更改config/module_manager.php文件中的module_directory值来更改默认的modules目录。

可用命令

要查看所有模块相关命令,请在终端中运行php artisan。可用命令有:

  • php artisan module:create {alias}
  • php artisan module:make:controller {alias} {ControllerName}
  • php artisan module:make:controller {alias} {ControllerName} --resource
  • php artisan module:make:command {alias} {CommandName}
  • php artisan module:make:facade {alias} {FacadeName}
  • php artisan module:make:middleware {alias} {MiddlewareName}
  • php artisan module:make:migration {alias} {migration_name} --create --table=table_name
  • php artisan module:make:migration {alias} {migration_name} --table=table_name
  • php artisan module:make:model {alias} {ModelName}
  • php artisan module:make:model {alias} {ModelName} --migration
  • php artisan module:make:provider {alias} {ProviderName}
  • php artisan module:make:request {alias} {RequestName}
  • php artisan module:make:service {alias} {ServiceClassName}
  • php artisan module:make:support {alias} {SupportClassName}
  • php artisan module:migrate {alias}
  • php artisan module:migrate:rollback {alias}
  • php artisan module:routes
  • php artisan module:install {alias}
  • php artisan module:uninstall {alias}
  • php artisan module:enable {alias}
  • php artisan module:disable {alias}

'alias'是模块的别名。你可以在模块目录下的module.json文件中找到模块的别名

你必须安装你的模块才能激活

php artisan module:install {alias}

加载组件

你必须通过以下laravel包加载视图、配置和翻译

加载视图
view(module_alias::view_file)

你可以这样加载module1模块的index.blade.php视图

view('module1::index');
加载翻译

你可以这样加载module1模块的welcome行,从messages文件中

trans('module1::messages.welcome');
加载配置文件

你可以这样加载module1模块的welcome行,从messages文件中

config('messages.welcome');

你必须合并配置,在ModuleServiceProvider提供者的register方法中使用mergeConfigFrom方法

public function register()
{
    $this->mergeConfigFrom(
        __DIR__.'/../../config/messages.php', 'messages'
    );
}

你应该在ModuleServiceProvider提供者的register方法中注册所有模块的自定义提供者,而不是在应用程序的config/app.php文件中。

鸣谢

WebEd