stormsq / developer-service
我的laravel项目模式
1.0.2
2022-07-26 02:28 UTC
Requires
- laravel/framework: ^5.0|^6.0|^7.0|^8.0|^9.0
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