zoukankan      html  css  js  c++  java
  • php下 MVC实现的基本思路

    为了能使新手更好的理解我这个思路的工作原理,我们现在模拟一个用户登录的场景,看看MVC是如何工作的。

    现在假设,所有的数据都提交给index.php,

    第一步:

    我们提交各get变量,告诉index.php该用哪个C,例如可以这样index.php?controller=user

    然后index接收到get变量,什么也不需要做,直接找到/user/controller.php,把所有数据丢给他,本来GET和POST就是全局的,所以index.php也不需要做什么,直接调用C的main函数就可以了,到此index.php的任务完成。

    第二步:

    C的main函数开始执行,检查变量,发现用户要执行的登录操作(很简单,你post个变量do=login就可以了),于是调用 getModel,载入对应的M类(例如/user/models/model.php),并实例化, 调用实例的load方法,载入该用户的数据资料,判断是否与用户提交的密码一致,如果提交的数据不正确header跳转到出错页面,如果正确,调用 display()方法,载入对应的V(例如/user/views/details.php),并实例化,调用其main()函数,进入第三步。到此C 的任务已完成,第二不操作均在main函数中进行。

    第三步:

    你可以选择调用getModel()载入M,重写调取数据,也可以在C实例化V的时候,把参数传过来(例如SESSION),当V已经确定得到数据以后,display(),载入模板,MVC执行完毕。

    当然,由于字数与精力限制,这里写的只是非常简要的概括,实际实施的时候要考虑很多细节,但我设计MVC的时候,大概思路就是这样,也用到了实际中,感觉良好。
  • 相关阅读:
    Win8.1恢复被禁用虚拟WiFi适配器的方法
    VM虚拟机安装AndroidX86版
    (转)java 调用webservice的各种方法总结
    在虚拟机中配置FastDFS+Nginx模块
    Nodejs&express+mongodb完成简单用户登录(即Nodejs入门)
    C# WPF 自学 MVVM简单介绍
    【ASP.NET Core】在CentOS上安装.NET Core运行时、部署到CentOS
    log4net 写入 mongodb+Mongodb记录日志
    MongoDB学习笔记
    使用druid 数据池对连接密码加密
  • 原文地址:https://www.cnblogs.com/neve/p/1964422.html
Copyright © 2011-2022 走看看