二、 MVC 架構與本專案程式碼對應(補充:interface使用與注冊) - amattsuyolo/cham GitHub Wiki
參考文章
- Repository design pattern done right in Laravel :
- https://itnext.io/repository-design-pattern-done-right-in-laravel-d177b5fa75d4
延續前一頁文章,持續探討Service模式
Service : 輔助 controller,處理商業邏輯,然後注入到 controller。
在網路上搜尋到的文章SERVICE與REPOSITORY 應該使用INTERFACE
不過由於基本上資料庫不易遇到需要替換的情況,故我們利用現有的Service來舉例
INTERFACE 經典使用情境為
飛行的行為 鳥可以飛 飛機也可以飛
本專案的寄驗證信 用簡訊寄 EMAIL寄
故我們在 路徑auth\app\Services\Interfaces folder 底下建立 sendValidateCodeInterface.php
<?php
namespace App\Services\Interfaces;
interface sendValidateCodeInterface
{
// 寄驗證信
public function sendSms($address,$content);
}
回到路徑 auth\app\Services\SmsService.php
我們實作了sendValidateCodeInterface
接下步驟由於使用interface 我們需要到路徑auth\app\Providers 找到AppServiceProvider.php 進行註冊
大功告成,我們可以在專案任意注入 SmsService