onesite / laravel-module
Generate a module with model, migration, controller, routes and factory
Installs: 1 748
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^7.2
- firebase/php-jwt: ^5.0
- hashids/hashids: ^3.0
- illuminate/config: ^7.0
- illuminate/console: ^7.0
- illuminate/contracts: ^7.0
- illuminate/events: ^7.0
- illuminate/filesystem: ^7.0
- illuminate/queue: ^7.0
- illuminate/routing: ^7.0
- illuminate/support: ^7.0
- illuminate/view: ^7.0
Requires (Dev)
- mockery/mockery: ^1.3
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.5
README
This package adds the php artisan make:module command
, allowing
you to:
Generate a module create a model, migration, controller, routes and model factory in a single easy to use command.
This package serves as a way of very quickly getting an idea off the ground, reducing the time you need to spend setting up various parts of your application so that you can concentrate on the complexity.
Installation
Install MakeResource through Composer.
"require": {
"onesite/laravel-module": "~1.0"
}
Next, update your config/app.php
to add the included service provider \OneSite\Module\ModuleGeneratorServiceProvider::class
:
'providers' => [
//...
\OneSite\Module\ModuleGeneratorServiceProvider::class
],
And you're good to go.
Using the generator
From the command line, run:
php artisan make:module ModelName "attributes"
For the simplest example, let's create a new admin
module:
php artisan make:module admin
This will create the following:
- modules\Admin\app\Http\Controllers\BaseController.php
- modules\Admin\app\Http\Controllers\ExampleController.php
- modules\Admin\resources\views/example.blade.php
as well as appending to:
- modules\Admin\routes.php
Copy to composer.json and run composer dump-autoload
to register composer for module, example with module admin
:
"autoload": {
"psr-4": {
"Module\\Admin\\": [
"modules/admin/app/"
]
}
}
Next, update your app/Providers/AppServiceProvider.php
to add the included service provider
to your register
function:
public function register()
{
$this->app->register(\Modules\ModuleName\Providers\AppServiceProvider::class);
}
Running tests
A full test suite is included. To execute the tests, from the package directory:
vendor/bin/phpunit tests/testMakeNewModule.php