-1

我正在用 PHP 开始一个新项目,并想选择最新的 ZendFramework。我看到 Zend Framework 3 已经发布,所以我想从 Zend Framework 3 本身开始。但是当我进入 Zend 的安装页面时,他们给出了 Zend MVC 和 Zend expressive 等选项。

我阅读了它们并了解到 Expressive 是一个微框架,而 MVC 是一个全栈框架。除此之外,我对它们不是很清楚。

我看到 Zend MVC 也用于 ZF2,并且文档将MVC 作为一个层。我找不到 zf2 的表现力。

问题:

  1. Zend MVC 和 Zend Expressive 都是包吗?是zf3的一部分吗?
  2. 当我在 Zend MVC 和 Zend Expressive 中看到已安装的包时,我看不到 Zend 框架的包,但我看到 Zend 组件的单独包,例如zend-httpzend-json等。这些(表达和 MVC)只是建立在不同的Zend 组件?
  3. 我怎么知道我正在使用 ZF3?
4

1 回答 1

16

Zend MVC 和 Zend Expressive 都是包吗?是zf3的一部分吗?

这在一定程度上取决于您对“包”的定义。Zend Expressive 不是 ZF3 的一部分,它是 ZF3 的微框架替代品。Zend MVC 和 Zend Expressive 都是包,它们也依赖于其他包。ZF3 是所谓的“元包”,这意味着它没有任何自己的代码,它只是其他包的集合。ZF3 元包包括 Zend MVC 包。

这些(表现力和 MVC)是建立在不同的 Zend 组件上的吗?

是的,而且有相当多的重叠。

我怎么知道我正在使用 ZF3?

这更多是语义问题。如果您安装了 Zend Framework 元包,那就是 ZF3。如果您只是使用 MVC 包,您可能会认为它仍然是 ZF3。如果您使用的是 Expressive,那就另当别论了。

ZF3 和 Expressive 之间的界线(以及何时使用其中一个)有些模糊。这个讨论可能会对你有所帮助。

在之前的编辑中,您询问了应该使用哪个来创建 REST API。你可以用任何一个来做到这一点。

于 2018-01-04T14:30:37.617 回答