2009-10-18 247 views
1

我一直在用Zend的方式来处理MVC(用PHP)。我对Zend Framework的理解是,每种类型的用户请求都映射到特定的控制器(反过来可能映射到或不映射到模型),并且每个动作映射到一个视图。我注意到了Codeigniter和Kohana中的相同模式,并且在某种程度上也在Symfony中。实际上,URL地图如下:MVC(PHP):控制器/操作是否映射到每个请求?

www.domain.com/index.php/CONTROLLER/ACTION/...additional parameters... 

这是MVC的情况吗?这与页面控制器有什么不同作为设计模式?

回答

1

Zend Framework使用Two Step View。这与MVC非常相似。正如你所看到的,与体系结构和URL映射之间的对应关系并不那么多。
如果您想了解可能的架构,请阅读Martin Fowler的PoEAA

+0

ZF可以与MVC模式一起使用,对于View部分它使用2步模式 – NDM 2009-10-18 20:07:51

0

我认为主要的区别在于,使用Page Controller模式,您的网站的每个页面都有一个单独的文件。在PHP中的MVC的典型实现中,您可以将常见操作组合在一个控制器中。此外,PHP中的典型MVC实现支持自定义路由,允许您创建控制器/操作的自定义映射,而无需使用http服务器重写。

0

1 “这是始终与MVC的情况?

www.domain.com/index.php/CONTROLLER/ACTION/...additional参数......”

没有它并不总是您可以扩展的路由情况下要基于域(为例):

使用domain.tld/USER进行USER.DOMAIN.TLD

2 - 我想,但我不是100%肯定的页面控制器是MVC模式的子集 我的意思是页面控制器=只有控制器!

0

我的回答here可能会帮助你(或在这种情况下的其他人,因为这已设置为已回答)。

相关问题