若将商业逻辑都写在 controller,会造成 controller 肥大而难以维护,基于SOLID原则,我们应该使用 Service 模式辅助 controller,将相关的商业逻辑封装在不同的 service,方便中大型专案的维护。

参考地址:https://oomusou.io/laravel/service/

Repository,Service,Presenter ,这时候 Model / Dao 只是数据库连接和关系映射,Repository 会辅助 Model 进一步封装,比如有 getPopularPosts() 之类,将注入到 Service 。Repository 处理数据库逻辑,Service 处理业务逻辑。Service 将注入到 Controller 层,Controller 层只处理 Http 相关逻辑,而视图相关由 Presenter 处理。
参考:https://learnku.com/laravel/t/7727/what-does-the-service-layer-in-mvc-mean

解决 laravel-admin between datetime 假如数据库是时间戳int类型无法筛选。

laravel-admin默认的between->datetime(),查询默认是datetime类型,但是假如数据库是时间戳类型就会报错,又不想改底层文件的话可以试试加自定义筛选功能...

阅读全文

php解析英文语句,自动分解。

参考:https://www.php.net/manual/en/function.str-split.php 最近碰到一个问题,客户的英文地址太长,超出接口api字段长度,所以需要解析下语句分解发送。 ...

阅读全文

记录一个laravel-excel导出表格值为0导出excel显示空的解决方法。

最近在使用laravel-excel导出表格的时候,发现假如字段值为0的情况下,导出的excel中直接显示为空,找到一个方法解决,如下. 在laravel-excel的config配置中...

阅读全文

欢迎留言