定制 adityadarma/laravel-service-repository 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

adityadarma/laravel-service-repository

Composer 安装命令:

composer require adityadarma/laravel-service-repository

包简介

Create pattern service and repository with easy

README 文档

README

Requirement

  • Minimum PHP ^8.0
  • Laravel ^9.x

Installation

You can install the package via composer for latest version

composer require adityadarma/laravel-service-repository

Install the base service part of core base service:

php artisan service-repository:install

Usage

*Service

Create service

php artisan make:service nameService

Used on controller

protected NameService $nameService;

public function __construct(
    NameService $nameService
)
{
    $this->nameService = $nameService;
}

public function data()
{
    $this->nameService->functionName()->getData();
}

public function json(Request $request)
{
    $this->nameService->functionName()->toJson();
}

public function withResource(Request $request)
{
    $this->nameService->functionName()->toJsonFromResource(ClassResource::class);
}

Use Service & Exception

Every all exception, must have handle to class CustomException

public function nameMethod()
{
    try {
         .........
         if (false) {
            throw new CustomException('Error exception');
         }
        ..........
        // Call toJsonFromResource at controller
        return $this->setData($data)
            ->setMessage('Message data')
            ->setCode(200);
        // OR
        // Call toJson at controller
        return $this->setData($data)
            ->setResource(ClassResource::class)
            ->setMessage('Message data')
            ->setCode(200);
    } catch (Exception $e) {
        return $this->exceptionResponse($e);
    }
}

*Repository

Create repository

php artisan make:repository nameRepository --model
  • --model will create repository with construct model

You can use general function on trait "GeneralFunctionRepository".

Used on service

protected NameRepository $nameRepository;

public function __construct(
    NameRepository $nameRepository
)
{
    $this->nameRepository = $nameRepository;
}

public function data()
{
    $this->nameRepository->functionName();
}

*Request

php artisan make:request nameRequest --single
  • --single will make all method to single file request (store, update, delete)

Command request is customized, have failedValidation to consistent API response. I also added an argument, so that we can carry out validation in one FormRequest file. Add function messages to custom response attribute message

*Model

php artisan make:model name --trait --repository
  • --trait will file trait to use on model like accessor, mutator, relationship and scope
  • --repository will create file repository with construct model

Command model is customized, we add 2 argument type. You can separate it into traits (accessor, mutator, relationship and scope) and add file repository.

License

This Package is licensed under the MIT license. Enjoy!

统计信息

  • 总下载量: 144
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-07-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固