0

0

mvc 和 ajax 的问题..

php中文网

php中文网

发布时间:2016-06-06 20:07:31

|

1099人浏览过

|

来源于php中文网

原创

前一段时间,我学完php,html,mysql,javascript 一些基本的东西后,我在这里问 网页 和 php 实现互交,
也就是前台和后台分开写怎么弄.

有人告诉我用 MVC 有人 跟我说用 ajax,

然后就我自学了ajax,然后一般简单的也会弄了..

我昨天看 mvc 的 thinkphp 教程,看了三集教程后,发现其实很多东西,貌似用 ajax 更简单..,而且ajax 可以提交到多个 *.php 文件, 根据客户端的不同动作事件实时反馈结果..

我问问 mvc 还有必须学习吗?他真正的用途在哪里?

希望跟我说说呗,举个实例什么的,我也不在it行业,我在一个屠宰场上班,要是说的太专业术语化,我也看不懂,希望大家言简意骇的,举个例子说说呗..谢谢了!

Perplexity
Perplexity

Perplexity是一个ChatGPT和谷歌结合的超级工具,可以让你在浏览互联网时提出问题或获得即时摘要

下载

回复内容:

前一段时间,我学完php,html,mysql,javascript 一些基本的东西后,我在这里问 网页 和 php 实现互交,
也就是前台和后台分开写怎么弄.

有人告诉我用 MVC 有人 跟我说用 ajax,

然后就我自学了ajax,然后一般简单的也会弄了..

我昨天看 mvc 的 thinkphp 教程,看了三集教程后,发现其实很多东西,貌似用 ajax 更简单..,而且ajax 可以提交到多个 *.php 文件, 根据客户端的不同动作事件实时反馈结果..

我问问 mvc 还有必须学习吗?他真正的用途在哪里?

希望跟我说说呗,举个实例什么的,我也不在it行业,我在一个屠宰场上班,要是说的太专业术语化,我也看不懂,希望大家言简意骇的,举个例子说说呗..谢谢了!

这两件事其实一点关系都没有,初学者认为MVC是一种架构方式,但实际上我个人认为这是一种思想。我的理解是这样的:
对于任意交互,都可以简化为一个三步走的过程,即
1- 访问者对服务器发起请求,服务器识别该请求是否有效(就像你到传达室说找xxx,传达室可能告诉你没这个人)
2- 对于有效的请求进行处理
3- 将处理结果反馈给访问者
其中 识别请求有效性,如果有效则处理 属于控制器部分,而具体的处理过程 属于模型,最终反馈的结果通常需要更友好的效果,就是V了(所以一种说法是直接返回json就不需要v了,另一种说法是将数据格式化为json也是一种v的应用)
这个思想是符合迭代的,比如对于一个函数来说,函数的命名就是C,处理过程是M,return是V。

理解该思想的好处是什么?
例如SEO优化,是对C的调整,其余不受影响
例如业务逻辑变更,是对M的调整,其余不受影响
例如UI改善,是对V的调整,其余不受影响
结合前面说到的迭代思想,基于广义MVC编写的代码具有更好的可维护性,如:

class User {
    public function save(array $data) {
        $this->_valid($data);
        $id = $this->_save($data);
        return $this->find($id);
    }
    protected function _valid(array $data) {
        //...
    }
    protected function _save(array $data) {
        //...
    }
    public function find(int $id) {
        $data = ...;
        return $this->_formatData($data);
    }
    protected function _formatData(array $data) {
        //...
        return $data;
    }
}

M 模型,V 视图,C 控制器
ajax 是在V视图中请求C控制器 对前后端进行数据交互
都要好好学习。
顺便问一下,现在屠宰场也要互联网信息化了吗?

我初学时也曾对MVC这个概念相当模糊,但找实习一般都会问:MVC是什么呀?你怎么理解MVC呀?
无奈,只能背下来:M是模型model,用于数据处理,V是试图view,用于展示页面,C是控制器controller,用于进行逻辑处理。。。
后来工作一段时间之后,才对MVC的应用有一点简单的认知。
我们写一个页面,目的是输出一句话:'good good study,day day up!',那么,我们可以新建一个index.php文件,里面写下:




    
    Document


    

这样,我们的目的就实现了,在这儿,需要所谓的MVC么?不需要!
但是,如果我们需要做一个有很多功能的网站,我们怎么办呢,也像这样一个php文件对应着实现一个网站页面的所有功能?
这个时候,我们就需要对此进行一个技术上的分离(MVC):
假如有一个页面:localhost/article/5,这个页面的作用是展示id为5的文章相关内容,那么,在C(控制层Controller)中,我们需要实现这个请求的逻辑处理,那么请求的逻辑是什么呢:

/*
第一步:获取到文章的id,$id = $_GET['article'];
第二步:获取文章内容,M->get('article',$id);
第三步:展示文章内容,show($data)
*/

M(模型model)层的作用是数据处理,那么,我们可以在M层连接数据库进行一些数据查询处理,然后在C层调用M层的方法获取到我们需要的数据,然后展示出来!
V(试图view)层的作用是展示页面,我们在C层接收到M层处理好的数据,然后这些数据通过V层的一些方法展示到试图模板中的指定位置,然后展示到浏览器!

这么看起来,真是麻烦诶!
可是仔细想一想,如果在一个大项目中,没有合理的结构约束,全是混乱无序的代码,那么以后我们怎么维护?而且一个项目通常是多人合作开发,如果是混乱的代码结构,那么怎么合作?

没有时间了,先写这些,将就看看

无论是mvc还是mmvc等等等,这些设计典范最终的目的就是为了减少代码冗余度,方便扩展与维护。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

32

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

23

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

16

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

6

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

268

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

195

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

170

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

85

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 10.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号