MVC(Model(模型) View(视图) Controller(控制器))

唐焕
2023-12-01

复习

1.      商品表

         增删改查

         index.php  add.php   view.php   edit.php   action.php

        

 

2.      MVC(Model(模型)  View(视图)  Controller(控制器))

         v1版本

 

         将原来的action(动作),写成方法,每一个action文件,就是个类

         什么是入口文件?

                   用于浏览器直接访问的那个文件

         什么是action?

                   是我们类中的,用于调用的方法

         如何在同一个入口文件中,如何调用不同的action?

                   通过url中的参数来控制 $_GET['a'];

 

         v2 版本

         如何在同一个入口文件中,调用不同的类

                   接收参数,来确定当前要实例化哪一个类

                   通过url中的参数来控制 $_GET['a'];

         什么是单一入口(实现单一入口)

                   浏览器只会访问同一个文件

                   1.路径问题,全部都相对于入口文件

                   2.方便安全控制,只需要入口文件内验证

                  

         v3

         数据库访问,使用Model类  

         界面,使用Smarty来实现

 

 

         MVC是设计模式

 

         不要在入口文件中,直接调用action,应该由控制器自己去调用action

         让入口文件把控制权,交给控制器

         需要确保每一个控制器都有一个相同名字的入口方法,如何实现?

 

         写一个控制器的父类(base类)  Controller类,在父类中写一个run()方法,让入口文件调用

 

 

         v4

         集成Smarty和Model

         在入口文件中,包含Smarty类文件

         让Controller继承自Smarty

         在控制器基类中,写一个私有的 _initSmarty()方法,来配置Smarty,在run()方法调用

         也可以写构造方法,用来初始化Smarty

         在控制器中,就可以直接使用$this->assgin(),$this->display()来调用Smarty提供的方法;

 

        

         v5

         类的自动加载

         将所有的控制器,都放到了controller文件夹中,将所有的model类,放在model目录中

         类的自动加载

 

         新建一个config/config.php,配置文件,并在入口文件中包含

 

 

 

 

 

 

 

 

 

 

 

 类似资料: