laravel service層分離和使用


傳統的項目的后端模塊定義結構通常是mvc架構,很清晰的分離出來了業務層C,數據層M,展示層V。同時因為模塊分離導致互相調用數據需要了解各個模塊的功能,而且使得互相調用變的復雜,通過分離出來一個單獨提供服務的模塊,業務層需要的數據可以在服務層做好業務處理,返回給調用方,這樣結構更加清晰。

給出一個結構如下:(注意服務層service)

├── Console
│   ├── Commands
│   │   ├── Data.php
│   │   └── SyncData.php
│   └── Kernel.php
├── Exceptions
│   └── Handler.php
├── Http
│   ├── Controllers
│   │   ├── Api
│   │   │   ├── UserController.php
│   │   ├── Auth
│   │   │   ├── LoginController.php
│   │   ├── Controller.php
│   │   └── IndexController.php
│   ├── Kernel.php
│   └── Middleware
│       ├── EncryptCookies.php
│       ├── RedirectIfAuthenticated.php
│       ├── TrimStrings.php
│       └── VerifyCsrfToken.php
├── Jobs
│   ├── Programs.php
├── Listeners
│   └── Listener.php
├── Models
│   └── Version.php
├── Providers
│   ├── AiServiceProvider.php
├── Rpc
│   ├── RpcBase.php
│   ├── RpcClient.php
│   └── RpcServer.php
├── Services
│   ├── CommonService.php
│   ├── ConfService.php
│   ├── RPC
│   │   ├── RpcServerService.php
│   │   └── RpcClientService.php
│   ├── RedisService.php
│   ├── CacheService.php
│   └── order.txt
├── Traits
│   ├── AliPay.php
│   ├── CalculateGpa.php
│   ├── CalculateLuggage.php
│   ├── Esearch.php
│   ├── FlightWare.php
│   ├── GoogleMap.php
│   ├── OssClient.php
│   ├── SendSms.php
│   ├── VideoStreaming.php
│   ├── WechatPay.php
│   └── YahooWeather.php
└── helpers.php

單獨分離出來服務層,好處如下:

  1. 服務層完成業務的處理;
  2. 控制器做業務轉發和參數獲取,模板調用,渲染。
  3. model層做數據獲取,各個model層做關聯,rpc業務等
    同時在文件目錄上又添加了Traits工具,做一些工具,服務單獨分離,容易管理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM