代码之家  ›  专栏  ›  技术社区  ›  Ashish Ranjan

什么是Zend Expressive和Zend MVC?

  •  -1
  • Ashish Ranjan  · 技术社区  · 7 年前

    我正在用PHP启动一个新项目,希望选择最新的ZendFramework。我看到Zend Framework 3已经发布,所以我想从Zend Framework 3本身开始。但是当我去 INSTALL Zend的第页,他们提供了Zend MVC和Zend expressive等选项。

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

    我看到Zend MVC也为ZF2和 documentation 表示MVC为层。但我无法找到zf2的表现力。

    问题:

    1. Zend MVC和Zend Expressive软件包都是吗?是zf3的一部分吗?
    2. 当我在Zend MVC和Zend Expressive中看到已安装的软件包时,我没有看到Zend framework的软件包,但我看到了Zend组件的单独软件包,如 zend-http , zend-json 等等。那么这些(表现型和MVC)是在不同的Zend组件上构建的吗?
    3. 我如何知道我正在使用ZF3?
    1 回复  |  直到 7 年前
        1
  •  16
  •   Tim Fountain    7 年前

    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。如果你使用的是表达,那是另一回事。

    ZF3和Expressive之间的界限(以及何时使用其中一个而不是另一个)有些模糊。 This discussion 可能会帮助你。

    在前面的一次编辑中,您询问了应该使用哪个来创建REST API。你可以用其中任何一个。