Magento 2: ¿cuál es el estado de M2 ​​con respecto al cumplimiento de PSR?


9

De acuerdo con la documentación oficial , entiendo que Magento 2 cumple con PSR-1 y PSR-2.

Me pregunto si Magento 2 es (o será) compatible con los demás .

  • PSR-3: interfaz de registrador
  • PSR-4: estándar de carga automática
  • PSR-6: interfaz de almacenamiento en caché
  • PSR-7: interfaz de mensajes HTTP

La respuesta que espero también podría considerar el borrador de PSR

Respuestas:


11
  • PSR-3 ya está en uso (con Monolog como implementación predeterminada)
  • PSR-4 ya está en uso (a través del compositor)
  • PSR-6 no es compatible y no sé si hay planes para hacerlo, pero hay una implementación de puente: https://github.com/EcomDev/magento-psr6-bridge
  • PSR-7 no es compatible, y dado el estado actual de los contratos de servicio de Solicitud / Respuesta es muy poco probable que lo sea.

    Traté de construir una implementación de Solicitud / Respuesta compatible con PSR-7 en un Hackathon reciente y descubrí que actualmente es imposible reemplazar de manera sensata la implementación central. Hablé con el arquitecto principal Anton Kril al respecto y ellos son conscientes de esto, pero la refactorización aún no está planificada y definitivamente no sucederá antes de Magento 2.4. De todos modos, no es relevante para la mayoría de los usuarios.


Sobre un borrador de PSR posiblemente relevante:

  • Sería agradable ver PSR-11 (interoperabilidad de contenedores), pero me temo que el administrador de objetos de Magento es demasiado especializado. Nuevamente, no conozco ningún plan y probablemente sea demasiado temprano para especular. Actualización: PSR-11 ha sido aceptado pero todavía no creo que tenga sentido para Magento, excepto si quieren admitir la integración de paquetes que no son de Magento que vienen con su propio contenedor DI compatible con PSR-11.
  • PSR-14 (Event Manager) también es demasiado nuevo para decir algo, pero Magento se beneficiaría de ello en mi humilde opinión. Esperemos que no tome otros 5 años para que esto sea aprobado. Actualización: No hay actividad con respecto a PSR-14 en la lista de correo y Github desde 2016, por lo que esto no parece avanzar desde el drama PHP FIG el año pasado, donde el grupo casi se desmoronó.

Sabía que PSR-3 y 4 se usan en M2, sin embargo, ¿cumple M2 con ellos? Estoy bastante seguro de que no es y más de un "tipo de cumplimiento".
Raphael en Digital Pianism

3
gran respuesta, pero ¿qué pasa con psr-8?
David Manners

1
AFAIK todas las clases que usan el registrador, esperan una interfaz Psr \ Log, por lo que es totalmente compatible. Y dado que se utiliza el autocargador de compositores, el cumplimiento de PSR-4 es gratuito.
Fabian Schmengler

@DavidManners solo disponible como implementación de la comunidad;)
Fabian Schmengler

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.