丁志翔64164 发布于 2017-05-14 23:44

初学PHP求教,laravel的路由,控制器,模型操作都基本会了,除了服务容器、控制翻转、依赖注入什么的还在理解,现在最不明白的就是具体的功能实现应该写在哪里,比如我要写一个通用附件上传功能或短消息发送器之类,这个具体的功能实现应该写在哪里才能实现代码的重用,写在控制器、模型好像都不对,应该写在哪里,Facades?Contracts?求教,十分感谢;

3 个回答
  • 首先我觉得你这两个附件上传功能或短消息发送器之类都是通用的,写成服务提供者,然后可以发布成自己的包,方便以后的项目用。

    这篇文章对你可能也会有所帮助。
    Laravel 核心:控制反转(Inversion of Control)和门面模式(Facade)

    Laravel 作者写了下面这系列的文章, 你可以看看, 会加深你对Laravel 里面的一些概念的理解。
    From Apprentice To Artisan

    2017-05-15 01:34 回答
  • 写在模型中,因为文件也是数据。当然,文件不方便放到数据库,所以数据库存放的是文件路径,那么文件存放并返回路径的活儿谁做呢?
    当然是框架做,这个你只需要一行代码,所以没必要写成命令(command)。
    综上所诉,写到模型里即可。

    2017-05-15 08:40 回答
  • Contracts 就是一套接口规范 建议你面向接口编程 方便你换个数据存储方式 缓存实现redis 还是memcache

    翻译过来 是契约 合同 就是大家约定好的 比如缓存读取 设置 就一个get 一个set 不需自己再定义一套接口

    2017-05-15 19:49 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    王丽珠景平怡伦_621
  • 8
    adfa3sd5f6a
  • 9
    欣欣大妮
  • 10
    sfasfs
PHP1.CN | 中国最专业的PHP中文社区 | json解析格式化 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有