/*
三层架构就是将原本的程序进行一定程度的分离以达到代码尽量少重复,易于维护,容易理解的目的
所谓的层就是文件的一些分离,(分离的时候有讲究的,一个文件一般只专注于一减事)
对于初学者这个三层架构不太好理解为什么要分开原来的程序呢?感觉分开了好像更烦啊,
还不如包含在一个文件里面呢,好理解。其实这种想法是错误的,当自己写一个项目的时候如果不对
代码进行分层会使得代码大量的重复,极难维护!可能刚写的时候比较好理解,但是越写越乱!
*/
//首先打开一起打包的图片,一打开可能感觉看不懂,好不着急我来慢慢讲解
/****************一、模板文件********************
先来看模板文件,这边的模板文件是指静态的html或者其他的后缀,
这个文件是被模板引擎(例如smarty)载入然后用于编译的
好,关于模板引擎我们暂时不管,如果大家对模板引擎不熟悉的话可以去找找资料学习一下,也可以去研究一下smarty
我们现在只要明白一个问题,就是这个文件是用于展示给用户看的
例如一个表单,或者一个界面上面有一些展示的数据和一些按钮(用于触发PHP程序)
*/
/****************二、action文件夹*****************
首先要搞一个父类出来,为什么呢?你想一想
action主要是用于流程控制的,那么针对不同的页面进行流程控制的时候肯定有一些重复的东西
例如:模板引擎对象(控制结束后要返回数据给用户,需要通过模板引擎来返回)和专门用于调用访问数据库的对象(这个对象在model文件夹下属于数据访问层,这里需要使用!),这些东西肯定是进行页面控制时都需要的对象
既然都需要那么就搞成父类以减少重复
*/
/****************三、Model文件夹
本文件夹里面的文件代码,就是用于操作数据库用的,至于怎么操作,还得看action流程控制所发来的指令!
本文件里面也有父类!为什么呢?
针对不同的action请求,访问数据库的时候,有的动作是重复的例如连接数据库,执行sql的代码,执行后销毁数据库句柄的代码
这些都是重复的,为了减少书写次数,搞成父类给子类继承是最好的选择!
*/
/*
再来理一下思路
用户操作了界面------》action业务流程控制器的程序响应用户(根据不同的用户请求,来操作数据库)
action响应的过程中例如:用户要求查数据,那么便会调用数据访问层model里面的查数据库的程序
用户要求删,就调用数据访问层model里面的删一条数据的程序。。。。。
这个就是三层架构!不同的层做不同的事,以达到分离,便于维护减少冗余的目的!
*/