La Recomendación estándar de PHP ( PSR ) es una especificación de PHP publicada por PHP Framework Interop Group . Similar a la Solicitud de especificación de Java para Java , sirve para la estandarización de conceptos de programación en PHP. El objetivo es permitir la interoperabilidad de los componentes y proporcionar una base técnica común para la implementación de conceptos probados para prácticas óptimas de programación y prueba. PHP-FIG está formado por varios fundadores de frameworks PHP. [1]
Cada PSR es sugerido por los miembros y votado de acuerdo con un protocolo establecido para actuar de manera consistente y en línea con los procesos acordados. [2]
Número | Nombre | Descripción | Editor | Coordinador | Patrocinador | Estado |
---|---|---|---|---|---|---|
PSR-0 | Estándar de carga automática | Describe los requisitos obligatorios que deben cumplirse para la interoperabilidad del cargador automático. [3] | N / A | N / A | N / A | En desuso y sustituido por PSR-4 [4] |
PSR-1 | Estándar de codificación básico | Comprende lo que deberían considerarse los elementos de codificación estándar que se requieren para garantizar un alto nivel de interoperabilidad técnica entre el código PHP compartido. [5] | N / A | N / A | N / A | Aceptado [4] |
PSR-2 | Guía de estilo de codificación | Considera PSR-1 y está destinado a reducir la fricción cognitiva al escanear código de diferentes autores. Lo hace enumerando un conjunto compartido de reglas y expectativas sobre cómo formatear el código PHP. [6] | N / A | N / A | N / A | Obsoleto [7] [4] [8] |
PSR-3 | Interfaz del registrador | Describe una interfaz común para las bibliotecas de registro. [9] | Jordi Boggiano | N / A | N / A | Aceptado [4] |
PSR-4 | Estándar de carga automática | Describe una especificación para clases de carga automática a partir de rutas de archivo. Es totalmente interoperable y se puede utilizar además de cualquier otra especificación de carga automática, incluido PSR-0. Este PSR también describe dónde colocar los archivos que se cargarán automáticamente de acuerdo con la especificación. [10] | Paul M. Jones | Phil Sturgeon | Larry Garfield | Aceptado [4] |
PSR-5 | Estándar PHPDoc | El propósito principal de este PSR es proporcionar una definición completa y formal del estándar PHPDoc. Este PSR se desvía de su predecesor, el estándar PHPDoc de facto asociado con phpDocumentor 1.x, para proporcionar soporte para funciones más nuevas en el lenguaje PHP y para abordar algunas de las deficiencias de su predecesor. [11] | Mike van Riel | Phil Sturgeon | Donald Gilbert | Borrador [4] |
PSR-6 | Interfaz de almacenamiento en caché | El objetivo de este PSR es permitir a los desarrolladores crear bibliotecas con memoria caché que se puedan integrar en marcos y sistemas existentes sin la necesidad de un desarrollo personalizado. [12] | Larry Garfield | Paul Dragoonis | Robert Hafner | Aceptado [4] |
PSR-7 | Interfaz de mensajes HTTP | Describe interfaces comunes para representar mensajes HTTP como se describe en RFC 7230 y RFC 7231, y URI para usar con mensajes HTTP como se describe en RFC 3986. [13] | Matthew Weier O'Phinney | Beau Simensen | Paul M. Jones | Aceptado [4] |
PSR-8 | Interfaz abrazable | Establece una forma común para que los objetos expresen aprecio y apoyo mutuos al abrazar. Esto permite que los objetos se apoyen entre sí de manera constructiva, fomentando la cooperación entre diferentes proyectos PHP. [14] | Larry Garfield | Cal Evans | Paul M. Jones | Abandonado [4] |
PSR-9 | Divulgación de seguridad | Proporciona a los líderes del proyecto un enfoque claramente definido para permitir que los usuarios finales descubran las divulgaciones de seguridad utilizando un formato estructurado claramente definido para estas divulgaciones. [15] | Lukas Kahwe Smith | Korvin Szanto | Larry Garfield | Abandonado [4] |
PSR-10 | Avisos de seguridad | Brinda a los investigadores, líderes de proyectos, líderes de proyectos ascendentes y usuarios finales un proceso definido y estructurado para revelar vulnerabilidades de seguridad. [dieciséis] | Lukas Kahwe Smith | Larry Garfield | Korvin Szanto | Abandonado [4] |
PSR-11 | Interfaz de contenedor | Describe una interfaz común para contenedores de inyección de dependencia. El objetivo es estandarizar cómo los marcos y las bibliotecas utilizan un contenedor para obtener objetos y parámetros (llamados entradas en el resto de este documento). [17] | Matthieu Napoli, David Négrier | Paul M. Jones | Jeremy Lindblom | Aceptado [4] |
PSR-12 | Guía de estilo de codificación ampliada | Extiende, expande y reemplaza a PSR-2, la guía de estilo de codificación y requiere el cumplimiento de PSR-1, el estándar de codificación básico. [18] | Michael Cullum | Korvin Szanto | Alexander Makarov | Aceptado [4] |
PSR-13 | Enlaces hipermedia | Describe interfaces comunes para representar un enlace hipermedia. [19] | Larry Garfield | Matthew Weier O'Phinney | Marc Alexander | Aceptado [4] |
PSR-14 | Administrador de evento | Describe interfaces comunes para enviar y manejar eventos. [20] | Larry Garfield | Aceptado [4] | ||
PSR-15 | Controladores de solicitudes del servidor HTTP | Describe las interfaces comunes para los controladores de solicitudes del servidor HTTP y los componentes de middleware del servidor HTTP que utilizan mensajes HTTP. [21] | Woody Gilk | Matthew Weier O'Phinney | Aceptado [4] | |
PSR-16 | Caché simple | Describe una interfaz simple pero extensible para un elemento de caché y un controlador de caché. [22] | Paul Dragoonis | Jordi Boggiano | Fabien Potencier | Aceptado [4] |
PSR-17 | HTTP Fábricas | Describe un estándar común para las fábricas que crean objetos HTTP compatibles con PSR-7. [23] | Woody Gilk | Matthew Weier O'Phinney | Aceptado [4] | |
PSR-18 | Cliente HTTP | Describe una interfaz común para enviar solicitudes HTTP y recibir respuestas HTTP. [24] | Tobias Nyholm | Sara Golemon | Aceptado [4] | |
PSR-19 | Etiquetas PHPDoc | Proporciona un catálogo completo de etiquetas en el estándar PHPDoc . [25] | Chuck Burgess | Borrador [4] |
El sitio web oficial de PHP-FIG tiene la documentación de PSR que sigue al RFC 2119 escrito por Scott Bradner en marzo de 1997 en la Universidad de Harvard .
Referencias
- ^ "Lista de miembros de PHP-FIG" . Sitio web oficial de PHP-FIG. hej . Consultado el 10 de enero de 2016 .
- ^ "Protocolo de votación" . Grupo de interoperabilidad PHP Framework . Consultado el 10 de enero de 2016 .
- ^ "PSR-0: Estándar de carga automática" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ a b c d e f g h i j k l m n o p q r s t "Lista de estado de PSR" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "PSR-1: Estándar de codificación básico" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "PSR-2: Guía de estilo de codificación" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "Recomendaciones de estándares PHP - PHP-FIG" . www.php-fig.org . Consultado el 14 de febrero de 2020 .
- ^ "Recomendaciones de estándares PHP - PHP-FIG" . www.php-fig.org . Consultado el 9 de mayo de 2020 .
- ^ "PSR-3: Interfaz de registrador" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "PSR-4: Estándar de carga automática" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "PSR-5: Estándar PHPDoc" . Repositorio oficial de PHP Documentor git en Github . Consultado el 10 de enero de 2016 .
- ^ "PSR-6: Interfaz de almacenamiento en caché" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "PSR-7: Interfaz de mensajes HTTP" . Sitio web oficial de PHP-FIG . Consultado el 10 de enero de 2016 .
- ^ "PSR-8: Interfaz adaptable" . Repositorio de git oficial de PHP-FIG en Github . Consultado el 10 de enero de 2016 .
- ^ "PSR-9: Divulgación de seguridad" . Repositorio de git oficial de PHP-FIG en Github . Consultado el 10 de enero de 2016 .
- ^ "PSR-10: Avisos de seguridad" . Repositorio de git oficial de PHP-FIG en Github . Consultado el 10 de enero de 2016 .
- ^ "PSR-11: Interfaz de contenedor" . Repositorio oficial de git PHP-FIG PSR-11 en Github . Consultado el 10 de enero de 2016 .
- ^ "PSR-12: Guía de estilo de codificación extendida - PHP-FIG" . www.php-fig.org . Consultado el 4 de junio de 2020 .
- ^ "PSR-13: Interfaces de definición de enlaces - PHP-FIG" . www.php-fig.org . Consultado el 4 de febrero de 2019 .
- ^ "PSR-14: Despachador de eventos" . Repositorio de git oficial de PHP-FIG en Github . Consultado el 4 de febrero de 2019 .
- ^ "PSR-15: Controladores de solicitudes del servidor HTTP - PHP-FIG" . www.php-fig.org . Consultado el 4 de febrero de 2019 .
- ^ "PSR-16: Interfaz común para bibliotecas de almacenamiento en caché - PHP-FIG" . www.php-fig.org . Consultado el 4 de febrero de 2019 .
- ^ "PSR-17: Fábricas HTTP - PHP-FIG" . www.php-fig.org . Consultado el 4 de febrero de 2019 .
- ^ "PSR-18: Cliente HTTP - PHP-FIG" . www.php-fig.org . Consultado el 4 de febrero de 2019 .
- ^ "PSR-19: etiquetas PHPDoc" . Repositorio de git oficial de PHP-FIG en Github . Consultado el 4 de febrero de 2019 .
enlaces externos
- Sitio web oficial de PHP Framework Interop Group