Skip to content

基于Laravel项目开发规范,composer扩展库

Notifications You must be signed in to change notification settings

cqcqs/laravel-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

laravel-mode

基于 laravel 的项目开发规范,以面向对象思维开发

Laravel laravel-mode
7.0 V2.0
8.0 V2.0

Install

composer require cqcqs/laravel-mode

Use

Provider

Cqcqs\Mode\ModeServiceProvider::class

DTO

数据传输层,ControllerService 之间通信的数据传输

# 生成 DTO
php artisan make:dto PostDTO
use App\DTO\PostDTO;

$postDTO = new PostDTO([
    'title' => $request->post('title')
]);

// or

$postDTO = new PostDTO();
$postDTO->setTitle($request->post('title'));

Service

业务逻辑层

# 生成 Service
php artisan make:service PostService
return ServiceHelper::make('Api\\PostService')->store($postDTO);

Repository

数据映射层

# 生成 Repository
php artisan make:repository PostRepository --model=App\Models\Post
use Cqcqs\Mode\Helpers\ResponseHelper;
use App\Repositories\PostRepository;

public function __construct(PostRepository $post)
{
    $this->post = $post;
}

public function store(PostDTO $postDTO)
{
    $list = $this->post->insert($postDTO->toArray());

    return new ResponseHelper();
}

Links

Blog:Stephen Blog