PHP笔记之MVC(2)
目录
有关MVC的其他常见做法
请求分发器(前端控制器):
先观察现有的控制器:
完整代码如下所示:
而且,在所有的“连接”(跳转,表单提交)中,都相应的改为:
目录结构的设定:
通常,我们会将一个MVC项目中的一些一些相应的文件,分门别类存放,结果就类似这样:
平台的划分
那么,我们也可以将他们进一步“聚合”,聚合为一个“大的MVC”框架下的多个相对独立的“站点”;
因此,我们的整个MVC框架,又可以进一步提示为:
我的实例:
相应的,其中的所有请求(链接/提交/跳转),都又得加上平台的信息了!
所有用户列表的视图中添加一个链接:
基础常量的设定
我们在mvc中,会用到很多“相对固定的目录路径”,使用一个常量来表示,常常能够简化代码!
在inde.php页面中:
相应的,其他一些需要载入文件的位置(主要是“控制器”中载入视图),也可以简化,比如:
自动加载的实现
说明:
1,自动加载是指:在需要一个类的时候,自动去加载该类的对应类文件;
2,自动加载,不能自动加载“视图文件”;
禁止其他目录中文件的直接访问
找到站点www.php39.com的配置中的“目录权限设置项”:
修改为:
重启apache。
然后,在mvc框架的application目录和framework目录下,都放置一个相同的文件(.htaccess),
其内容为(只有一行):
Deny from All
如下所示:
ecshop电子商城
配置(安装)
然后, 在apache的虚拟主机中,添加一个站点,比如:
并重启apache。
然后访问: http://www.ecshop39.com
就可以看到它的安装界面:
进入后台登录界面:
我们就要用mvc的框架结构,去实现该界面,并实现其功能——登录!
使用MVC框架,模拟ECshop的登录界面和功能
首先,要设计“登录账户表”
——就是管理员表:
然后,开始设计界面:
将源代码拷贝过来,并相应修改一些路径。
然后,模拟实现ecshop的登录功能:
1:修改表单:
2,并且,相应地,修改Admin控制(添加对应的方法):
3,然后,继续在AdminModel类中,去添加一个方法:CheckAdmin()
更多详细内容,请自行学习。