hariadi/laravel-boilerplate-generator
Laravel Boilerplate Generator Commands
Generate Model, attribute, relation, scope trait and repository for Laravel 5 Boilerplate via console command
Install
composer require --dev hariadi/laravel-boilerplate-generator
Laravel 5.7+
Package already support auto discover and ready to use.
Laravel 5.4
Register service provider by adding to your config/app.php:
Hariadi\Boilerplate\GeneratorCommandServiceProvider::class,
If you want this lib only for dev, you can add the following code to your app/Providers/AppServiceProvider.php file, within the register() method:
public function register()
{
if ($this->app->environment() !== 'production') {
$this->app->register(\Hariadi\Boilerplate\GeneratorCommandServiceProvider::class);
}
// ...
}
Show command list:
php artisan list
You will see:
app
app:attribute Create a new attribute traits for model
app:method Create a new method traits for model
app:model Create a new Eloquent model class with attribute, relationship and scope traits
app:relationship Create a new relationship traits for model
app:repository Create a new repository class
app:scope Create a new scope traits for model
Usage
Generate Model
Options
-N|--namespace: The namespace class. Output strategy will follow this namespace
php artisan app:model ModelName
Generate ModelName.php under Models directory, and traits for ModelNameAttribute, ModelNameRelationship, ModelNameScope under Models\ModelName\Traits directory.
Generate Attribute
Options
-N|--namespace: The namespace class. Output strategy will follow this namespace
php artisan app:attribute ModelName
Generate ModelNameAttribute.php under Models/Traits/Attribute directory.
Generate Method
Options
-N|--namespace: The namespace class. Output strategy will follow this namespace
php artisan app:method ModelName
Generate ModelNameMethod.php under Models/Traits/Method directory.
Generate Relation
Options
-N|--namespace: The namespace class. Output strategy will follow this namespace
php artisan app:relation ModelName
Generate ModelNameRelationship.php under Models/Traits/Relationship directory.
Generate Scope
Options
-N|--namespace: The namespace class. Output strategy will follow this namespace
php artisan app:scope ModelName
Generate ModelNameScope.php under Models/Traits/Scope directory.
Generate Repository
Options
-d|--disable-softdelete: Disable softdelete method (forceDeleteandrestore)
php artisan app:repository Backend/ModelName
Generate ModelNameRepository.php under app/Repositories/Event directory.
Output strategy
Without --namespace option
Example files and directories output:
php artisan app:model ModelName
php artisan app:model AnotherModelName
app/Models
├── AnotherModelName
│ ├── AnotherModelName.php
│ └── Traits
│ ├── Attribute
│ │ └── AnotherModelNameAttribute.php
│ ├── Method
│ │ └── AnotherModelNameMethod.php
│ ├── Relationship
│ │ └── AnotherModelNameRelationship.php
│ └── Scope
│ └──AnotherModelNameScope.php
└── ModelName
├── ModelName.php
└── Traits
├── Attribute
│ └── ModelNameAttribute.php
├── Method
│ └── ModelNameMethod.php
├── Relationship
│ └── ModelNameRelationship.php
└── Scope
└── ModelNameScope.php
With --namespace option
Generated combined in given namspace option. Example files and directories output:
php artisan app:model ModelName --namespace=Survey
php artisan app:model AnotherModelName --namespace=Survey
app/Models
└── Survey
├── ModelName.php
├── AnotherModelName.php
└── Traits
├── Attribute
│ ├── ModelNameAttribute.php
│ └── AnotherModelNameAttribute.php
├── Method
│ ├── ModelNameMethod.php
│ └── AnotherModelNameMethod.php
├── Relationship
│ ├── ModelNameRelationship.php
│ └── AnotherModelNameRelationship.php
└── Scope
├── ModelNameScope.php
└── AnotherModelNameScope.php
License
The Laravel Boilerplate Generator command is open-sourced software licensed under the MIT license
Related Packages
This package is for handling the crud for simple crud like for setup etc.
Collection of extra console commands and helpers, useful when developing web app...