复习
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,配置文件,并在入口文件中包含