Magento 2: quel est le statut de M2 ​​concernant la conformité PSR?

9

Donc, selon la documentation officielle , je comprends que Magento 2 est compatible PSR-1 et PSR-2.

Je me demande si Magento 2 est (ou sera) compatible avec les autres ?

  • PSR-3: Interface de l'enregistreur
  • PSR-4: Norme de chargement automatique
  • PSR-6: Interface de mise en cache
  • PSR-7: Interface de message HTTP

La réponse, je pense, pourrait également prendre en compte le projet de rapport sur les performances

Raphael chez Digital Pianism
la source

Réponses:

11
  • PSR-3 est déjà utilisé (avec Monolog comme implémentation par défaut)
  • PSR-4 est déjà utilisé (via le compositeur)
  • PSR-6 n'est pas pris en charge et je ne pense pas avoir l'intention de le faire, mais il existe une implémentation de pont: https://github.com/EcomDev/magento-psr6-bridge
  • Le PSR-7 n'est pas pris en charge et, étant donné l'état actuel des contrats de service de demande / réponse, il est très peu probable qu'il le soit.

    J'ai essayé de construire une implémentation de demande / réponse compatible PSR-7 sur un Hackathon récent et j'ai découvert qu'il est actuellement impossible de remplacer sainement l'implémentation principale. J'en ai parlé à l'architecte principal Anton Kril et ils en sont conscients, mais le refactoring n'est pas encore prévu et ne se produira certainement pas avant Magento 2.4. Ce n'est pas pertinent pour la plupart des utilisateurs de toute façon.


À propos du projet de rapport sur les résultats potentiellement pertinent:

  • PSR-11 (Container Interop) serait agréable à voir mais je crains que le gestionnaire d'objets Magento soit trop spécialisé. Encore une fois, je ne connais aucun plan et il est probablement trop tôt pour spéculer. Mise à jour: PSR-11 a été accepté, mais je ne pense toujours pas que cela ait du sens pour Magento, sauf s'ils souhaitent prendre en charge l'intégration de packages non Magento fournis avec leur propre conteneur DI compatible PSR-11.
  • PSR-14 (Event Manager) est également trop nouveau pour dire quoi que ce soit, mais Magento en bénéficierait à mon humble avis. Espérons qu'il ne faudra pas encore 5 ans pour que cela soit approuvé. Mise à jour: Aucune activité concernant PSR-14 sur la liste de diffusion et Github depuis 2016, donc cela ne semble pas aller de l'avant depuis le drame PHP FIG de l'année dernière où le groupe s'est presque effondré.
Fabian Schmengler
la source
Je savais que PSR-3 et 4 sont utilisés en M2, mais M2 est-il entièrement compatible avec ceux-ci? Je suis à peu près sûr que ce n'est pas et plus une sorte de "conformité".
Raphael au Digital Pianism du
3
bonne réponse mais qu'en est-psr-8?
David Manners
1
AFAIK toutes les classes qui utilisent l'enregistreur, attendez-vous à une interface Psr \ Log, donc c'est entièrement conforme. Et puisque l'autochargeur du compositeur est utilisé, la conformité PSR-4 est gratuite.
Fabian Schmengler
@DavidManners uniquement disponible en tant qu'implémentation communautaire;)
Fabian Schmengler