MVC思维

来源:互联网 发布:淘抢购在淘宝首页哪里 编辑:程序博客网 时间:2024/06/05 07:40

看了《暗时间》,觉得自己需要写博客去记录下自己的思路,和思维的变化。上次写博客好像是初中吧。

 

最近学到了面向对象,然后紧接着学了PDOsmarty。按照课程安排,这些都是为MVC设计模式做的基础。

那么MVC 到底可以做什么呢?MVC类似一种框架,固定的目录结构。目的是为了减少代码的臃肿,增加代码的重用率。并且实现逻辑较强的项目。基于MVC,我们可以尽情改装。

我对于MVC的理解:

首先用户访问的话,不可能知道各种文件的路径。那么需要指定一个入口index.php,然后再由index载入frame类进行分发,启用frame里的调用一切的方法。

frame 的作用是用来分发。将任务给不同的类来处理。在这里我们引入一个自动加载的功能,来实现加载App请求的类,和调用方法。当然自动加载需要指定路径,为了充分利用自动加载的功能。我们需要设置路径常量,并把类名方法名放到地址栏里。路径常量不是这么简单的设置。我们要根据实际运行顺序来。

首先用户只给三个数据M 前后台 C 类名 A方法名首先去APP里找到c的类名,如何实现自动加载呢。所以new这个类需要这个路径。这个路径包括 MC。不防先根据M定义出一个路径名为controllerpath as cpmodelpathviewpath。然后调用这个类名直接,类名在分发器里改装成C.controller.调用这个类然而只有cp里有这个类名,所以这个类名实例化成功。第一部分完成了。

然后app里的controller继承基础类controller。那么基础类controller作用是什么呢。所有的APP控制器都有smarty,所以定义一个公共控制方法调用smarty。而此项功能由基础view类里来实现。则此时将view基础类里的smarty创建好。这里用到了smartypath则前面定义smartypath。第二部分完成了。

此时用了一个appcontroller里的 a方法。这个方法让Appmodel去执行。需要去new一个Cmodel此时只有appmodel里有这个类。则自动加载了。而此类又是继承的基础Model类,在appmodel里使用model的方法。其中连接数据库在基础类model里。返回值传给appcontroller。进行判断和展示。而模板在VIEW类里设置了VIEWPATH.C

既然有Frame目录,那么看起来就是框架了。Frame里有DB类,分发器,基础控制器,基础模型类基础视图类。这是基本的结构,可以在上面进行各种改装。

 


0 0
原创粉丝点击