Giter VIP home page Giter VIP logo

laravel-boilerplate-generator's Introduction

Laravel Boilerplate Generator Commands

Build Status

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 (forceDelete and restore)
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

laravel-boilerplate-generator's People

Contributors

hariadi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

poseso flowser mcjwb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.