PSR¶
Resumen¶
Esta página reúne las recomendaciones de estándares PHP (PSR) implementadas en APS Conecta Gestión —PSR-0, PSR-3, PSR-4, PSR-11 y PSR-20— y la versión de cada una que se incluye según la versión de APS Conecta Gestión. Está dirigida a quienes desarrollan apps.
Fuente: documentación de Nextcloud, «developer_manual/digging_deeper/psr», versión 3ad9158, licencia CC BY 3.0; traducida y adaptada para APS Conecta Gestión.
En esta página se encuentra información sobre las recomendaciones de estándares PHP implementadas en APS Conecta Gestión.
PSR-0: Carga automática¶
Este estándar está obsoleto y se eliminará en APS Conecta Gestión 27. Ver la sección de PSR-4 en su lugar.
PSR-3: Interfaz de logger¶
Nuevo en la versión 19.
El contenedor de inyección de dependencias puede inyectar una instancia de \Psr\Log\LoggerInterface.
La implementación de PSR-3 pretende facilitar la integración de bibliotecas de terceros que requieren el logger de PSR-3.
Cambiado en la versión 21: APS Conecta Gestión incluye la versión 1.1.3
Cambiado en la versión 23: APS Conecta Gestión incluye la versión 1.1.4
Cambiado en la versión 30: APS Conecta Gestión incluye la versión 2.0.0
Cambiado en la versión 31: \Psr\Log\LoggerInterface sustituyó por completo a los métodos de registro internos de APS Conecta Gestión.
PSR-4: Carga automática¶
El estándar PSR-4 describe cómo deben nombrarse los archivos de clase para que APS Conecta Gestión pueda cargarlos automáticamente. Ver la documentación del cargador de clases para más detalles.
PSR-11: Interfaz de contenedor¶
Nuevo en la versión 20.
El contenedor de inyección de dependencias sigue la interfaz de contenedor de PSR-11, por lo que se puede declarar el tipo \Psr\Container\ContainerInterface siempre que se quiera una instancia de un contenedor, y usar has($id) para comprobar si existe y get($id) para obtener una instancia de un servicio. Ver la documentación de inyección de dependencias para más detalles.
Cambiado en la versión 22: APS Conecta Gestión incluye la versión 1.1.1
Cambiado en la versión 27: APS Conecta Gestión incluye la versión 2.0.2
PSR-20: Reloj¶
Nuevo en la versión 27.
La clase \OCP\AppFramework\Utility\ITimeFactory sigue la interfaz de reloj de PSR-20, por lo que se puede declarar el tipo \PSR\Clock\ClockInterface y luego usar el método now() siempre que se quiera obtener la hora actual. También se puede cambiar la zona horaria de la instancia \DateTimeImmutable que se va a devolver, obteniendo un nuevo ITimeFactory mediante ITimeFactory::withTimeZone().