This commit is contained in:
wangjinlei
2024-07-17 09:23:45 +08:00
parent edf9deeb1a
commit 881ac3e056
1001 changed files with 41032 additions and 5452 deletions

View File

@@ -0,0 +1,2 @@
composer.lock
vendor/

View File

@@ -0,0 +1,20 @@
# psr-log-aware-trait
Trait to allow support of different psr/log versions.
By including this PsrLogAwareTrait, you can allow composer to resolve your PsrLogger version for you.
## Use
Require the trait.
composer require chromatic/psr-log-aware-trait
In your code, you no longer have to set a $logger property on your classes, since that comes with the trait, and you do not need to implement the `function setLogger()` method, since that also comes along with the trait.
```php
use PsrLogAwareTrait;
```
Will allow you to call `setLogger()` in your classes and fulfil the requirements of the PsrLoggerAwareInterface implementation.

View File

@@ -0,0 +1,24 @@
{
"name": "mpdf/psr-log-aware-trait",
"description": "Trait to allow support of different psr/log versions.",
"type": "library",
"require": {
"psr/log": "^1.0 || ^2.0"
},
"license": "MIT",
"autoload": {
"psr-4": {
"Mpdf\\PsrLogAwareTrait\\": "src/"
}
},
"authors": [
{
"name": "Mark Dorison",
"email": "mark@chromatichq.com"
},
{
"name": "Kristofer Widholm",
"email": "kristofer@chromatichq.com"
}
]
}

View File

@@ -0,0 +1,27 @@
<?php
namespace Mpdf\PsrLogAwareTrait;
use Psr\Log\LoggerInterface;
trait MpdfPsrLogAwareTrait
{
/**
* @var \Psr\Log\LoggerInterface
*/
protected $logger;
public function setLogger(LoggerInterface $logger)
{
$this->logger = $logger;
if (property_exists($this, 'services') && is_array($this->services)) {
foreach ($this->services as $name) {
if ($this->$name && $this->$name instanceof \Psr\Log\LoggerAwareInterface) {
$this->$name->setLogger($logger);
}
}
}
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace Mpdf\PsrLogAwareTrait;
use Psr\Log\LoggerInterface;
trait PsrLogAwareTrait
{
/**
* @var \Psr\Log\LoggerInterface
*/
protected $logger;
public function setLogger(LoggerInterface $logger)
{
$this->logger = $logger;
}
}