codeurx / modular
Codeurx Modular是一个用于Laravel的包,可以帮助您创建和管理模块。
v2.1
2020-04-11 18:39 UTC
Requires
- php: >=7.1
Requires (Dev)
- laravel/framework: >=6.0
- orchestra/testbench: ^3.6
- phpunit/phpunit: ~7.0
README
Codeurx Modular是一个用于Laravel的包,可以帮助您创建和管理模块。
安装
要通过Composer安装,请运行以下命令
composer require codeurx/modular
自动加载
默认情况下,模块类不会自动加载。您可以使用psr-4
来自动加载您的模块。例如
{ "autoload": { "psr-4": { "App\\": "app/", "App\\Modules\\": "app/Modules/" }, "files": [ "app/Modules/helpers/helpers.php" ] } }
提示:别忘了运行composer dump-autoload
。
运行以下命令来发布modules
表的迁移
php artisan vendor:publish --provider="Codeurx\Modular\ModularServiceProvider" --tag="migrations"
之后运行以下命令
php artisan migrate
用法
创建模块
要创建新模块,只需运行以下命令
php artisan modular:make <module-name>
<module-name>
- 将其替换为所需模块的名称。
文件夹结构
app/Modules/
├── Users/
├─ Database/
├─ Migrations/
├─ Http/
├─ Controllers/
├─ UsersController.php
├─ Models/
├─ UsersModel.php
├─ Providers/
├─ UsersServiceProvider.php
├─ Resources/
├─ views/
├─ index.blade.php
├─ Routes/
├─ web.php
您可以通过输入来访问用户模块的URL示例
http://sever/users/ or http://sever/public/users/
对于示例数据
http://sever/users/users-test or http://sever/public/users/users-test
删除模块
要删除特定模块,只需运行以下命令
php artisan modular:delete <module-name>
<module-name>
- 将其替换为您要删除的模块的名称。
提示:如果模块不存在,您将被告知是否要创建它。
列出所有模块
要列出模块,只需运行以下命令
php artisan modular:list
为特定模块创建迁移
要为特定模块创建迁移,只需运行以下命令
php artisan modular:make-migration <module-name> --table=<table-name>
<module-name>
- 将其替换为所需模块的名称。<table-name>
- 可选字段,将其替换为所需的表名。
如果您没有提供--table选项,则表名将默认使用模块的名称。
为所有模块迁移数据库
php artisan modular:migrate
为特定模块迁移数据库
php artisan modular:migrate <module-name>
为特定模块创建新的控制器
php artisan modular:make-controller <module-name> <controller-name>
<module-name>
- 将其替换为所需模块的名称。<controller-name>
- 将其替换为控制器名称。
例如
php artisan modular:make-controller users TestController
或
php artisan modular:make-controller users Test/TestController
提示:如果您输入了第二个命令,文件夹结构将如下所示
app/Modules/
├── Users/
├─ Database/
├─ Migrations/
├─ Http/
├─ Controllers/
├─ Test
├─ TestController.php
├─ UsersController.php
├─ Models/
├─ UsersModel.php
├─ Providers/
├─ UsersServiceProvider.php
├─ Resources/
├─ views/
├─ index.blade.php
├─ Routes/
├─ web.php
并且对于路由,您应该添加一行类似的内容
<?php
/*
|--------------------------------------------------------------------------
| Users Module Routes
|--------------------------------------------------------------------------
|
| All the routes related to the Users module have to go in here.
|
*/
Route::get('/', 'UsersController@index');
Route::get('/users-test', 'UsersController@UsersTest');
Route::get('/test', 'Test\TestController@index');
为特定模块创建新的模型
php artisan modular:make-model <module-name> <model-name>
<module-name>
- 将其替换为所需模块的名称。<model-name>
- 将其替换为模型名称。
例如
php artisan modular:make-model users TestModel
或
php artisan modular:make-model users Test/TestModel
提示:如果您输入了第二个命令,文件夹结构将如下所示
app/Modules/
├── Users/
├─ Database/
├─ Migrations/
├─ Http/
├─ Controllers/
├─ UsersController.php
├─ Models/
├─ Test
├─ TestModel.php
├─ UsersModel.php
├─ Providers/
├─ UsersServiceProvider.php
├─ Resources/
├─ views/
├─ index.blade.php
├─ Routes/
├─ web.php
致谢
关于Amir Ali Salah
我是一名突尼斯全栈Web开发者。目前我在GIS(Gate Informatic Systems)工作,您可以访问我的网站获取更多信息。
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。