quels sont les composants zend utilisés par magento2?

8

Magento2 utilise maintenant zend framewok 1, zend framework 2, symfony etc.

Je veux savoir quels sont les composants issus de zend framewok 1 et les composants issus de zend framewok 2.

Par exemple:

  1. Zend_Db (à partir de zend 1)
  2. Zend_Json (à partir de zend 2)
  3. Zend_mvc (à partir de Zend 1)

etc.

Et aussi combien pour cent de chaque framework (pas exactement .. je sais que c'est difficile)

par exemple:

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

mise à jour: grâce au compositeur, je ne peux pas identifier quel composant utilisant magento.

par exemple: symfony / config ou zend / config (les deux composants existaient dans composer)

sivakumar
la source
Vous pourriez probablement résoudre ce problème avec la composer showcommande
Robbie Averill
@RobbieAverill à partir de là, je peux voir 'zendframework / zend-console' et 'symfony / console' etc.
Sivakumar K
1
Vous obtiendrez des résultats plus précis avec pdepend: pdepend.org
Fabian Schmengler
fyi, certains modules Zend ont été supprimés devdocs.magento.com/guides/v2.3/release-notes/…
medmek

Réponses:

10

Voici une ventilation rapide des composants:

Tous ceux-ci sont issus de 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",

Celui-ci est un fork de Zend Framework 1.12.16:

    "magento/zendframework1": "1.12.16",

Les composants Symfony sont:

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

Comme l'a dit David, seul le composant Console est utilisé dans app/code/Magentoles autres composants sont utilisés en interne sous lib/internal/Magento/Framework.

Concernant le pourcentage, un simple décompte des occurrences dans Magento 2.1-rc1 vous donne (hors commentaires et vendordossier):

  • ~ 1400 références Zend_dont provient de ZF1
  • ~ 800 références Zend\dont provient de ZF2
  • ~ 850 références à Symfony
Raphael chez Digital Pianism
la source
1

à partir de symfony, seul le composant de console symfony est utilisé.

Il est assez difficile de dire quels composants sont utilisés à partir de zf1 et zf2, mais magento a déjà annoncé officiellement qu'il voulait se débarrasser de zf1 d'ici la fin de l'année (si cela aide).

David Verholen
la source