Was sind die Zend-Komponenten von Magento2?

8

Magento2 verwendet jetzt Zend Framewok 1, Zend Framework 2, Symfony usw.

Ich möchte wissen, welche Komponenten aus zend framewok 1 und welche Komponenten aus zend framewok 2 stammen.

Zum Beispiel:

  1. Zend_Db (von Zend 1)
  2. Zend_Json (von Zend 2)
  3. Zend_mvc (von Zend 1)

usw.

Und auch, wie viel Prozent von jedem Framework (nicht genau ... ich weiß, dass es schwierig ist)

zum Beispiel:

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

Update: Durch Composer kann ich nicht identifizieren, welche Komponente Magento verwendet.

Zum Beispiel: symfony / config oder zend / config (beide Komponenten waren in Composer vorhanden)

Sivakumar
quelle
Sie könnten dies wahrscheinlich mit dem composer showBefehl herausfinden
Robbie Averill
@RobbieAverill davon kann ich 'zendframework / zend-console' & 'symfony / console' usw. sehen. Bedeutet das also, dass Magento beide Konsolenbibliotheken verwendet?
Sivakumar K
1
Sie erhalten genauere Ergebnisse mit pdepend: pdepend.org
Fabian Schmengler
Zu Ihrer
Information

Antworten:

10

Hier ist eine kurze Aufschlüsselung der Komponenten:

Alle diese stammen aus 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",

Dies ist eine Abzweigung von Zend Framework 1.12.16:

    "magento/zendframework1": "1.12.16",

Die Symfony-Komponenten sind:

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

Wie David sagte, wird nur die Konsolenkomponente verwendet, während app/code/Magentodie anderen Komponenten intern unter verwendet werden lib/internal/Magento/Framework.

In Bezug auf den Prozentsatz erhalten Sie eine einfache Zählung der Vorkommen in Magento 2.1-rc1 (ohne Kommentare und vendorOrdner):

  • ~ 1400 Verweise auf Zend_ZF1
  • ~ 800 Verweise auf Zend\ZF2
  • ~ 850 Verweise auf Symfony
Raphael beim digitalen Pianismus
quelle
1

Von Symfony wird nur die Symfony-Konsolenkomponente verwendet.

Es ist ziemlich schwer zu sagen, welche Komponenten von zf1 und zf2 verwendet werden, aber Magento hat bereits offiziell angekündigt, dass sie zf1 bis Ende des Jahres loswerden wollen (wenn das hilft).

David Verholen
quelle