magento2使用什么zend组件?


8

Magento2现在使用zend framewok 1,zend framework 2,symfony等。

我想知道zend framewok 1和zend framewok 2的组件是什么。

例如:

  1. Zend_Db(来自zend 1)
  2. Zend_Json(来自zend 2)
  3. Zend_mvc(来自Zend 1)

等等

还有每个框架有多少百分比(不完全是..我知道这很困难)

例如:

  • zend framewok 1:45%
  • zend framewok 2:25%
  • symfony:30%

更新:通过作曲家,我无法识别使用magento的组件。

例如:symfony / config或zend / config(两个组件都存在于composer中)


您可能可以通过以下composer show命令解决此问题
Robbie Averill,2016年

@RobbieAverill从中我可以看到'zendframework / zend-console'和'symfony / console'等。这意味着magento同时使用两个控制台库吗?
Sivakumar K

1
使用pdepend,您将获得更准确的结果:pdepend.org
Fabian Schmengler,2016年

仅供参考,一些Zend模块已被删除devdocs.magento.com/guides/v2.3/release-notes/…–
medmek

Answers:


10

以下是这些组件的快速分解:

所有这些都来自Zend Framework 2:

    "zendframework/zend-stdlib": "~2.4.6",
    "zendframework/zend-code": "~2.4.6",
    "zendframework/zend-server": "~2.4.6",
    "zendframework/zend-soap": "~2.4.6",
    "zendframework/zend-uri": "~2.4.6",
    "zendframework/zend-validator": "~2.4.6",
    "zendframework/zend-crypt": "~2.4.6",
    "zendframework/zend-console": "~2.4.6",
    "zendframework/zend-modulemanager": "~2.4.6",
    "zendframework/zend-mvc": "~2.4.6",
    "zendframework/zend-text": "~2.4.6",
    "zendframework/zend-i18n": "~2.4.6",
    "zendframework/zend-eventmanager": "~2.4.6",
    "zendframework/zend-view": "~2.4.6",
    "zendframework/zend-servicemanager": "~2.4.6",
    "zendframework/zend-json": "~2.4.6",
    "zendframework/zend-config": "~2.4.6",
    "zendframework/zend-form": "~2.4.6",
    "zendframework/zend-di": "~2.4.6",
    "zendframework/zend-serializer": "~2.4.6",
    "zendframework/zend-log": "~2.4.6",
    "zendframework/zend-http": "~2.4.6",

这是Zend Framework 1.12.16的分支:

    "magento/zendframework1": "1.12.16",

Symfony组件包括:

    "symfony/console": "~2.3 <2.7",
    "symfony/event-dispatcher": "~2.1",
    "symfony/process": "~2.1",
    "symfony/phpunit-bridge": "~2.7",
    "symfony/dependency-injection": "~2.6|~3.0.0",
    "symfony/expression-language": "~2.6|~3.0.0",
    "symfony/config": "~2.0,>=2.0.5|~3.0.0",
    "symfony/stopwatch": "~2.3|~3.0.0",
    "symfony/filesystem": "~2.3|~3.0.0"
    "symfony/yaml": "~2.1|~3.0.0",

就像David所说的那样,只有Console组件被使用,app/code/Magento其他组件在内部被使用lib/internal/Magento/Framework

关于百分比,Magento 2.1-rc1中发生的次数很简单(不包括注释和vendor文件夹):

  • 大约1400个引用Zend_来自ZF1
  • 约800个引用Zend\来自ZF2
  • 〜850引用 Symfony

1

从symfony中,仅使用symfony控制台组件。

很难区分zf1和zf2中使用了哪些组件,但是magento已经正式宣布要在年底前淘汰zf1(如果有帮助的话)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.