chhw/commander

This package gives you to automatically generate service/repository class, which is extended by Laravel original make commands.

2.1.0 2021-12-02 15:09 UTC

This package is auto-updated.

Last update: 2024-04-29 03:51:35 UTC


README

This package extends Laravel generating commands.

Installation

Install by composer

    $ composer require chhw/commander

If you are under Laravel 5.5, please add this code in config/app.php below.

    <?php
        'providers' => [
            CHHW\Commander\CommanderServiceProvider::class,
        ],
    ?>

Also support Lumen now!!

In bootstrap/app.php, you should:

  1. uncomment $app->withEloquent();
  2. add $app->register(CHHW\Commander\CommanderServiceProvider::class);

And add config/database.php just like Laravel.

Usage

Generate Service:

Create a new service class.

    $ php artisan make:service UserService

Generate Repository:

Create a new repository class.

    $ php artisan make:repository UserRepository

Or you can create a new repository class with --model=

    $ php artisan make:repository UserRepository --model=User

Supported methods

You can use these methods in service:

  1. all($columns = ['*'])
  2. find($id, $columns = ['*'])
  3. firstOrFail($columns = ['*'])
  4. get($columns = ['*'])
  5. create(array $attributes = [])
  6. with($relations)
  7. destroy($ids)
  8. paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
  9. simplePaginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)

Example:

app/Services/UserService.php

protected $userRepository;

public function __construct(UserRepository $repository)
{
    $this->userRepository = $repository;
}

public function getAll()
{
    return $this->userRepository->all();
}