若将商业逻辑都写在 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

升级php7.2后,加密函数mcrypt_module_open()被废弃的解决方案。

方案1 直接输入 pecl install mcrypt-snapshot 此方案的好处是不用改代码 方案2 <?php class Encrypt{ //base64_encode(openssl_random_pseudo_bytes...

阅读全文

elasticsearch+kibana+filebeat+headPlugin配置参考

参考链接 filebat: https://www.elastic.co/cn/downloads/beats/filebeat https://www.elastic.co/cn/products/beats/filebeat Elastic Stack : https://www...

阅读全文

使用.env文件区分不同的线上环境数据库配置

有时候本地项目和线上项目需要不同的配置文件,这样就用到了.env文件。 1.首先在你的项目根文件夹下创建.env文件 并写入内容 DB_CONNECTION=mysql DB_HOST=12...

阅读全文

欢迎留言