我正在用PHP开始一个新项目,并希望选择最新的ZendFramework。我看到Zend Framework 3已经发布,所以我想从Zend Framework 3本身开始。但是当我去Zend的INSTALL页面时,他们给出了Zend MVC和Zend表达的选项。
我阅读了它们,并了解到Expressive是一个微框架,而MVC是一个全栈框架。除此之外,我对它们并不十分清楚。
我看到Zend MVC也适用于ZF2而documentation称MVC为一层。虽然我找不到Expressive for zf2。
问题:
zend-http
,zend-json
等那些(表达式和MVC)只是构建在不同的Zend组件上吗?答案 0 :(得分:14)
是Zend MVC还是Zend Expressive包?并且是zf3的一部分?
这取决于你对"包"的定义。 Zend Expressive不是ZF3的一部分,它是ZF3的微框架替代品。 Zend MVC和Zend Expressive都是软件包,它们也依赖于其他软件包。 ZF3就是所谓的元数据包",这意味着它没有自己的任何代码,它是 soley 其他包的集合。 ZF3元包包含Zend MVC包。
这些(表达式和MVC)只是构建在不同的Zend组件上吗?
是的,而且有很多重叠。
我怎么知道我在使用ZF3?
这更像是一个语义问题。如果您安装了Zend Framework元数据包,那就是ZF3。如果您只是使用MVC包,您可能会认为它仍然是ZF3。如果您使用的是表达式,那就是其他内容。
ZF3和Expressive之间的界限(以及当你使用其中一个时)有点模糊。 This discussion可能会对您有所帮助。
在之前的编辑中,您询问了应该使用哪个来创建REST API。你可以用它们做到这一点。