传统的项目的后端模块定义结构通常是mvc架构,很清晰的分离出来了业务层C,数据层M,展示层V。同时因为模块分离导致互相调用数据需要了解各个模块的功能,而且使得互相调用变的复杂,通过分离出来一个单独提供服务的模块,业务层需要的数据可以在服务层做好业务处理,返回给调用方,这样结构更加清晰。
给出一个结构如下:(注意服务层service)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
├── 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 |
单独分离出来服务层,好处如下:
- 服务层完成业务的处理;
- 控制器做业务转发和参数获取,模板调用,渲染。
- model层做数据获取,各个model层做关联,rpc业务等
同时在文件目录上又添加了Traits工具,做一些工具,服务单独分离,容易管理。
来源:https://www.cnblogs.com/linnenn/articles/11217446.html
解决新增文件夹的命名空间:
|
|
"autoload": { "classmap": [ "database", "resources/org/code"//添加自己的命名空间 ], <strong><span style="color: #ff0000;">"psr-4": { "App\\": "app/" //可在此处添加新的文件夹 }</span></strong> }, |
https://www.jb51.net/article/172014.htm
https://www.cnblogs.com/keiweila/p/7989432.html
https://blog.csdn.net/weixin_33699914/article/details/92867846
「三年博客,如果觉得我的文章对您有用,请帮助本站成长」
共有 0 - laravel service层分离和使用