# laravel-modules **Repository Path**: cqcqs/laravel-modules ## Basic Information - **Project Name**: laravel-modules - **Description**: 基于Laravel7项目开发规范 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-08 - **Last Updated**: 2021-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # laravel-modules 基于 `Laravel7` 实现的一套开发规范,在原路由层(Route)、控制器层(Controller)上增加数据传输层(DTO)、业务逻辑层(Service)、数据映射层(Repository),并且建议以面向对象的思想进行开发。 Route(路由) > MiddleWare(中间件) > Request(表单验证) > Controller(控制器) > DTO(数据传输层) > Service(业务逻辑层) > Repository(数据映射层) > Model(模型) > 项目正逐步完善中…… ## Controller Demo ```$xslt public function list() : ResponseHelper { $commonDTO = new CommonDTO([ 'id' => $request->post('id') ]); return ServiceHelper::make('Api\\V1\\LiveService')->list($commonDTO); } ``` ## DTO ```$xslt $commonDTO = new CommonDTO(); $commonDTO->setId(request()->route('id')); ``` ## Service ```$xslt php artisan make:service LiveService; ``` LiveService.php ```$xslt ServiceHelper::make('Api\\V1\\LiveService')->list($commonDTO); class LiveService extends Service { /** * @param CommonDTO $commonDTO * @return ResponseHelper */ public function list(CommonDTO $commonDTO) : ResponseHelper { } } ``` ## Repository ```$xslt php artisan make:model Models/Live php artisan make:repository LiveRepository ``` LiveRepository.php ```$xslt use App\Models\Live; public function model() { return Live::class; } ``` LiveService.php ```$xslt public function __construct(LiveRepository $live) { $this->live = $live; } /** * @return ResponseHelper */ public function list() : ResponseHelper { $list = $this->live->all(); $response = new ResponseHelper(); $response->setData($list->toArray()); return $response; } ``` ## Links Blog:[Stephen Blog](https://www.stephen520.cn/) laravel-mode:[laravel-mode](https://github.com/cqcqs/laravel-mode) > 正在完善,并且后期将提供composer包安装