首页 > ThinkPHP没有模型或者视图也一样可以工作 ??

ThinkPHP没有模型或者视图也一样可以工作 ??

ThinkPHP并不依赖M或者V ,也就是说没有模型或者视图也一样可以工作。甚至也不依赖C,这是因为ThinkPHP在Action之上还有一个总控制器,即App控制器,负责应用的总调度。在没有C的情况下,必然存在视图V,否则就不再是一个完整的应用。

费解的是:假设我们在Thinkphp中只有一个视图 demo.html, 我总得用URL访问吧,那不就得是 /home/index/demo.html了吗? 不还是得有c吗,

请问这句话如何理解??


他这里的C应该只是指的是Controller类里的具体action没有也可以调用到模板


从MVC本身来分析,MVC只是一种逻辑分界,而不是固有的代码分界。
不依赖M和V可以理解为:
当你不使用视图进行展示的时候,V就不需要了,比如很多restFul API的话就不使用视图进行展示。
当你不需要使用数据库进行数据交互,或者你直接使用原生进行数据操作的时候,不使用数据模型的情况下,M层也可以不使用了。
控制器是用来调度请求和各种资源之间的关系的。


TP的流程就是:
index.php-->执行一堆代码-->app->实例化C-->实例化M-->实例化V
实例化C-->实例化M-->实例化V这部品就是我们处理的逻辑,其中M,V,C只是逻辑中的一部分,说白也是一些普通PHP代码,是我们人为地把这些代码归为M,V,C三部分,这三者存不存在,就看业务了,在TP中,一般至少有个C,作为MVC的入口。在没有C的情况下,必然存在视图V,否则就不再是一个完整的应用这个问题,我觉得就像是,你把一台电脑打开了,但什么都不做,index.php-->执行一堆代码-->app这个过程是TP框架自动化处理一部分,运行肯定是没问题,但什么业务都没处理,就像白白开着电脑不干活一样。

【热门文章】
【热门文章】