人人都能看懂的全栈开发教程——MVC

人人都能看懂的全栈开发教程——MVC

Chris Yue No Comment
Posts

从这一篇开始,我们即将要接触代码设计相关的话题以及大量的重构。在写这章之前我就有一个草稿,但总觉得我想表达的意思似乎我已经写过了,今天找了一下,还真写过,而且还是 2011 年写的……我也回顾了一下那篇文章,并没有年久失修,不但可以看,而且把我想表达的意思都表达了(好想给自己点赞是怎么回事)。

所以,这篇我就可以偷个懒了,关于 MVC 介绍部分,就看那篇文章就行,说得很详细,不过我还是会把一些重点重复一下,当然我们的例子跟 11 年是不一样的,我会把实例也更新了。

由于昨天我们有说需要重新创建一个 index.php 输出 HTML 代码,我们也说可以暂时直接将 console/list.php 复制过了再做修改。修改之后的代码如下,同样留意代码注释:

而为了表达 MVC 的『分工』思想,结合我们昨天所了解的 require 的用法,我们将进一步拆分代码:

首先我们创建 tasks.php 来表示我们列出所有任务这一需求:

接着我们需要给做页面的工程师创建 tasks.html.php 即我们的模板页面

最后 index.php 作为控制器,只需要把数据 tasks.php 和模板 tasks.html.php 『粘』起来:

实际上,console/list.php 虽然在命令行下运行,依然可以算作一种『视图』,所以也可以套用我们的 MVC 模式,当然这里为了简单起见,就只修改获取数据部分代码,不再为其单独写视图文件了,这里也是想告诉大家,不需要拘泥于形式,如果你本身的视图就没有复杂到需要单独一个文件来维护,就没有必要硬添模板文件。

最后,如果对比了我 11 年写的文章,可能会发现我在获取数据的时候,并没有使用函数,而是直接 require 来的,其实这两种做法传递的想法都是一样,只要达到我们『分工』,『解耦』的目的,都是好方法。

本章完整代码看这里

人人都能看懂的全栈开发教程——MVC by Chris Yue is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

微信赞赏码

如果觉得文章还不错,就请扫码鼓励一下作者吧
天使打赏人

发表评论

− 2 = 5