stormsq/developer-service

我的laravel项目模式

1.0.2 2022-07-26 02:28 UTC

This package is auto-updated.

Last update: 2024-09-26 07:39:21 UTC


README

说明

这是我个人习惯的开发模式,将业务逻辑写在Service中。其灵感来自Controller-Service-Repository设计模式,但简化了Repository模式,把原本Repository的部分也改在Service处理。

这主要是为了方便我快速调用Laravel Eloquent Model。因为习惯集中所有Eloquent Model,所以封装了一些方法方便使用

安装

composer require stormsq/developer-service

如果你的laravel <= 5.4或者是你的Laravel项目没有启用自动加载包导入,你需要在你的config/app.php下面引入:

'providers' => [
     STORMSQ\DeveloperService\DeveloperServiceProvider::class,
 ];
'aliases' => [
    'ServiceBuilder' => STORMSQ\DeveloperService\ServiceBuilder::class,
 ],

别忘了生成一个配置文件

php artisan vendor:publish

你会在config底下看到一个developer.php

设置

config/developer.php

目前里面有两组可调整参数组,分别是Model与Presenter

Model只有一个placepath,是设置Eloquent Model的位置,默认是app底下

使用方法

Service

生成一个Service

php artisan developer:make:service  "Service名稱" //Services/Admin/DemoService

p.s.基本路径是app/

完成后你会在app/Services/Admin目录下得到DemoService.php

namespace App\Services\Admin;
use STORMSQ\Developer\ServiceBuilder;

class DemoService extends ServiceBuilder{

    public function __construct()
    {
        //
    }
}

你可以在这个Service里面使用...

$this->getModel("Eloquent Model名稱") //User

如果Eloquent Model存在且正确,则这个方法会返回该Eloquent Model