4.4. 代码封装

file

代码封装

我们在实现众筹商品管理时,会发现大部分代码都与普通商品管理的控制器里的代码相同,假如之后我们添加了新的商品类型(比如秒杀),在编写后台管理时还需要再复制一份类似的代码,而且以后如果添加了一些公共的商品字段,就需要同时修改所有类型商品的后台控制器。

这种冗余的代码会让我们的项目产生较重的『技术债务』,因此我们需要把通用的代码封装起来,这样以后添加新的商品类型时只需要编写与普通商品不同字段的相关代码即可。

1. 代码分析

接下来我们来分析一下哪些地方是可以共用的:

  1. index() / create() / edit() 这三个方法除了里面的页面标题不同,其他代码都是一样的;
  2. 都需要 grid()form() 方法;
  3. grid() 方法中都需要按 type 字段过滤;
  4. grid() 方法中都需要禁用『查看』、『删除』 和『批量删除』按钮;

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

simplewater
学到了学到了,大佬 NB
4 个点赞 | 1 个回复 | 分享 | 课程版本 5.5
halweg
这里为什么可以不引用 CommonProductsController 命名空间呢?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5