Skip to content

Commit 9aad280

Browse files
committed
Merge branch 'feature/jb-interpolator' into 'master'
Create Interpolator See merge request redbitcz/composer/utils!24
2 parents d0abade + f412495 commit 9aad280

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

src/Log/Logger.php

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
class Logger implements LoggerInterface, SectionLoggerInterface
1212
{
13+
use LoggerInterpolator;
1314
use LoggerTrait;
1415

1516
/** @var IOutStream */
@@ -36,21 +37,4 @@ public function section(string $section, string $separator = '/'): SectionLogger
3637
{
3738
return new SectionLogger($this->writer, $section, $separator);
3839
}
39-
40-
/**
41-
* @param mixed $message
42-
* @param mixed[] $context
43-
* @return string
44-
*/
45-
protected function interpolate($message, array $context = []): string
46-
{
47-
$replace = [];
48-
foreach ($context as $key => $value) {
49-
if (is_array($value) === false && (is_object($value) === false || method_exists($value, '__toString'))) {
50-
$replace['{' . $key . '}'] = (string)$value;
51-
}
52-
}
53-
54-
return strtr((string)$message, $replace);
55-
}
5640
}

src/Log/LoggerInterpolator.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Redbitcz\Utils\Log;
6+
7+
trait LoggerInterpolator
8+
{
9+
/**
10+
* @param mixed $message
11+
* @param mixed[] $context
12+
* @return string
13+
*/
14+
protected function interpolate($message, array $context = []): string
15+
{
16+
$replace = [];
17+
foreach ($context as $key => $value) {
18+
if (is_array($value) === false && (is_object($value) === false || method_exists($value, '__toString'))) {
19+
$replace['{' . $key . '}'] = (string)$value;
20+
}
21+
}
22+
23+
return strtr((string)$message, $replace);
24+
}
25+
}

0 commit comments

Comments
 (0)