wangchristine / commander by wangchristine

This package gives you to automatically generate service/repository class, which is extended by Laravel original make commands.
534
1
1
Package Data
Maintainer Username: wangchristine
Package Create Date: 2021-08-28
Package Last Update: 2021-12-02
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-23 15:00:28
Package Statistics
Total Downloads: 534
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

Laravel Commander

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();
}