.. sectionauthor:: Christoph Wurst <[email protected]>
On this page you find information about the implemented php standards recommendations in Nextcloud.
This standard has been deprecated and will be removed in Nextcloud 27. Please see the :ref:`PSR-4 section<psr4>` instead.
.. versionadded:: 19
The dependency injection container can inject an instance of a \Psr\Log\LoggerInterface
.
The PSR-3 implementation shall easy the integration of 3rd party libraries that require the PSR-3 logger.
.. versionchanged:: 21 Nextcloud ships version 1.1.3
.. versionchanged:: 23 Nextcloud ships version 1.1.4
.. versionchanged:: 30 Nextcloud ships version 2.0.0
.. versionchanged:: 31 The ``\Psr\Log\LoggerInterface`` fully replaced the Nextcloud internal logging methods.
The PSR-4 standard describes how class files should be named, so Nextcloud can automatically load them. See the :ref:`classloader docs<appclassloader>` for details.
.. versionadded:: 20
The dependency injection container follows the PSR-11 container interface, so you may type-hint \Psr\Container\ContainerInterface
whenever you want an instance of a container and use has($id)
to check for existence and get($id)
to retrieve an instance of a service. See the :ref:`dependency injection docs <dependency-injection>` for details.
.. versionchanged:: 22 Nextcloud ships version 1.1.1
.. versionchanged:: 27 Nextcloud ships version 2.0.2
.. versionadded:: 27
The \OCP\AppFramework\Utility\ITimeFactory
class follows the PSR-20 clock interface, so you may type-hint \PSR\Clock\ClockInterface
and then use the now()
method whenever you want to get the current time. You can also change the timezone for the to be returned \DateTimeImmutable
instance, by getting a new ITimeFactory
from ITimeFactory::withTimeZone()
.