php - mvc 和 ajax 的问题..

查看:181
本文介绍了php - mvc 和 ajax 的问题..的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

前一段时间,我学完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;
    }
}

这篇关于php - mvc 和 ajax 的问题..的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆