From f31ed3b35cceaac65037b801bb7fa19798130ba4 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Tue, 22 Dec 2020 14:07:24 +0100 Subject: [PATCH] Document PSR-0 and PSR-4 as two supported PSRs Signed-off-by: Christoph Wurst --- developer_manual/digging_deeper/psr.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/developer_manual/digging_deeper/psr.rst b/developer_manual/digging_deeper/psr.rst index 351b65769..3f793d1e4 100644 --- a/developer_manual/digging_deeper/psr.rst +++ b/developer_manual/digging_deeper/psr.rst @@ -6,6 +6,13 @@ PSR On this page you find information about the implemented `php standards recommendations `_ in Nextcloud. +.. _psr0: + +PSR-0: Autoloading +------------------ + +This standard has been deprecated and will be removed from Nextcloud. Please see the :ref:`PSR-4 section` instead. + .. _psr3: PSR-3: Logger Interface @@ -13,6 +20,13 @@ PSR-3: Logger Interface As of Nextcloud 19, the dependency injection container can inject an instance of a ``\Psr\Log\LoggerInterface``. This is merely a wrapper of the existing (and strongly typed) ``\OCP\ILogger``. Apps may still use the Nextcloud logger, but the `PSR-3`_ implementation shall easy the integration of 3rd party libraries that require the `PSR-3`_ logger. +.. _psr4: + +PSR-4: Autoloading +------------------ + +The `PSR-4` standard describes how class files should be named, so Nextcloud can automatically load them. See the :ref:`classloader docs` for details. + .. _psr11: PSR-11: Container Interface @@ -20,5 +34,7 @@ PSR-11: Container Interface As of Nextcloud 20, the dependency injection container follows the `PSR-11`_ container interface, so you may start type-hinting ``\Psr\Container\ContainerInterface`` whenever you want an instance of a container and use ``has($id)`` to check for existance and ``get($id)`` to retrieve an instance of a service. See the :ref:`dependency injection docs ` for details. +.. _`PSR-0`: https://www.php-fig.org/psr/psr-0/ .. _`PSR-3`: https://www.php-fig.org/psr/psr-3/ +.. _`PSR-4`: https://www.php-fig.org/psr/psr-4/ .. _`PSR-11`: https://www.php-fig.org/psr/psr-11/