TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-82441:
|
||||
|
||||
=====================================================
|
||||
Feature: #82441 - Inject logger when creating objects
|
||||
=====================================================
|
||||
|
||||
See :issue:`82441`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Classes that implement :php:`\Psr\Log\LoggerAwareInterface` automatically
|
||||
get a logger instance injected when a class instance is created via
|
||||
:php:`GeneralUtility::makeInstance()` and :php:`ObjectManger::get()`.
|
||||
|
||||
For developer convenience the :php:`\Psr\Log\LoggerAwareTrait` can be used.
|
||||
The trait adds a public :php:`setLogger()` and a protected :php:`$logger` property
|
||||
to the class, no further code is needed to successfully implement the interface.
|
||||
|
||||
A minimal example looks like this (example from a test case fixture):
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<?php
|
||||
declare(strict_types = 1);
|
||||
namespace TYPO3\CMS\Core\Tests\Unit\Utility\Fixtures;
|
||||
|
||||
use Psr\Log\LoggerAwareInterface;
|
||||
use Psr\Log\LoggerAwareTrait;
|
||||
|
||||
class GeneralUtilityMakeInstanceInjectLoggerFixture implements LoggerAwareInterface
|
||||
{
|
||||
use LoggerAwareTrait;
|
||||
}
|
||||
|
||||
.. index:: PHP-API
|
||||
Reference in New Issue
Block a user