Какие компоненты Zend используются в magento2?

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)

Sivakumar
источник
Вы могли бы, вероятно, решить это с composer showкомандой
Робби Аверилл
@RobbieAverill из этого я могу видеть 'zendframework / zend-console' & 'symfony / console' и т. Д. Так значит ли это, что magento использует обе консоли lib?
Сивакумар К
1
Вы получите более точные результаты с pdepend: pdepend.org
Фабиан Шменглер
Кстати, некоторые модули Zend были удалены devdocs.magento.com/guides/v2.3/release-notes/…
medmek

Ответы:

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",

Как сказал Дэвид, только компонент 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 к концу года (если это поможет).

Дэвид Верхолен
источник