stormsq / developer-service
My Pattern of laravel project
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: 2025-06-26 09:22:04 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