Skip to content

Commit 3e84dc2

Browse files
committed
apply privatization set list
1 parent f3ed75e commit 3e84dc2

File tree

8 files changed

+147
-57
lines changed

8 files changed

+147
-57
lines changed

rector.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Rector\CodingStyle\Rector\ClassMethod\UnSpreadOperatorRector;
77
use Rector\Core\Configuration\Option;
88
use Rector\Core\ValueObject\PhpVersion;
9+
use Rector\Privatization\Rector\Class_\FinalizeClassesWithoutChildrenRector;
910
use Rector\Set\ValueObject\SetList;
1011
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
1112

@@ -22,6 +23,7 @@
2223
$containerConfigurator->import(SetList::PHP_73);
2324
$containerConfigurator->import(SetList::PHP_74);
2425
$containerConfigurator->import(SetList::PHP_80);
26+
$containerConfigurator->import(SetList::PRIVATIZATION);
2527
$containerConfigurator->import(SetList::PSR_4);
2628
$containerConfigurator->import(SetList::TYPE_DECLARATION);
2729
$containerConfigurator->import(SetList::TYPE_DECLARATION_STRICT);
@@ -37,5 +39,6 @@
3739
__DIR__ . '/src/Middleware/Routed/Preview',
3840
CallableThisArrayToAnonymousFunctionRector::class,
3941
UnSpreadOperatorRector::class,
42+
FinalizeClassesWithoutChildrenRector::class,
4043
]);
4144
};

src/Handler/Formatter/Json.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818

1919
class Json extends BaseJson implements FormatterInterface
2020
{
21+
/**
22+
* @var string
23+
*/
24+
private const TIMESTAMP = 'timestamp';
25+
2126
/**
2227
* @param array $event event data
2328
* @return string formatted line to write to the log
@@ -26,10 +31,10 @@ public function format($event): string
2631
{
2732
static $timestamp;
2833

29-
if (! $timestamp && isset($event['timestamp']) && $event['timestamp'] instanceof DateTime) {
30-
$timestamp = $event['timestamp']->format($this->getDateTimeFormat());
34+
if (! $timestamp && isset($event[self::TIMESTAMP]) && $event[self::TIMESTAMP] instanceof DateTime) {
35+
$timestamp = $event[self::TIMESTAMP]->format($this->getDateTimeFormat());
3136
}
32-
$event['timestamp'] = $timestamp;
37+
$event[self::TIMESTAMP] = $timestamp;
3338

3439
return str_replace(
3540
'\n',

src/Handler/Logging.php

Lines changed: 62 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,40 @@ class Logging
3535
private array $configLoggingSettings = [];
3636
private array $emailReceivers = [];
3737
private string $emailSender;
38+
/**
39+
* @var string
40+
*/
41+
private const PRIORITY = 'priority';
42+
43+
/**
44+
* @var string
45+
*/
46+
private const ERROR_TYPE = 'errorType';
47+
48+
/**
49+
* @var string
50+
*/
51+
private const ERROR_FILE = 'errorFile';
52+
53+
/**
54+
* @var string
55+
*/
56+
private const ERROR_LINE = 'errorLine';
57+
58+
/**
59+
* @var string
60+
*/
61+
private const TRACE = 'trace';
62+
63+
/**
64+
* @var string
65+
*/
66+
private const ERROR_MESSAGE = 'errorMessage';
67+
68+
/**
69+
* @var string
70+
*/
71+
private const SERVER_URL = 'server_url';
3872

3973
public function __construct(
4074
private Logger $logger,
@@ -105,12 +139,12 @@ private function collectErrorExceptionData(Throwable $throwable): array
105139
$errorMessage = $throwable->getMessage();
106140

107141
return [
108-
'priority' => $priority,
109-
'errorType' => $errorType,
110-
'errorFile' => $errorFile,
111-
'errorLine' => $errorLine,
112-
'trace' => $traceAsString,
113-
'errorMessage' => $errorMessage,
142+
self::PRIORITY => $priority,
143+
self::ERROR_TYPE => $errorType,
144+
self::ERROR_FILE => $errorFile,
145+
self::ERROR_LINE => $errorLine,
146+
self::TRACE => $traceAsString,
147+
self::ERROR_MESSAGE => $errorMessage,
114148
];
115149
}
116150

@@ -137,13 +171,13 @@ private function collectErrorExceptionExtraData(array $collectedExceptionData, R
137171
}
138172

139173
return [
140-
'server_url' => $serverUrl,
141-
'url' => $url,
142-
'file' => $collectedExceptionData['errorFile'],
143-
'line' => $collectedExceptionData['errorLine'],
144-
'error_type' => $collectedExceptionData['errorType'],
145-
'trace' => $collectedExceptionData['trace'],
146-
'request_data' => $this->getRequestData($request),
174+
self::SERVER_URL => $serverUrl,
175+
'url' => $url,
176+
'file' => $collectedExceptionData[self::ERROR_FILE],
177+
'line' => $collectedExceptionData[self::ERROR_LINE],
178+
'error_type' => $collectedExceptionData[self::ERROR_TYPE],
179+
self::TRACE => $collectedExceptionData[self::TRACE],
180+
'request_data' => $this->getRequestData($request),
147181
];
148182
}
149183

@@ -213,34 +247,38 @@ public function handleErrorException(Throwable $throwable, RequestInterface $req
213247
{
214248
$collectedExceptionData = $this->collectErrorExceptionData($throwable);
215249
$extra = $this->collectErrorExceptionExtraData($collectedExceptionData, $request);
216-
$serverUrl = $extra['server_url'];
250+
$serverUrl = $extra[self::SERVER_URL];
217251

218252
try {
219253
if (
220254
$this->isExists(
221-
$collectedExceptionData['errorFile'],
222-
$collectedExceptionData['errorLine'],
223-
$collectedExceptionData['errorMessage'],
255+
$collectedExceptionData[self::ERROR_FILE],
256+
$collectedExceptionData[self::ERROR_LINE],
257+
$collectedExceptionData[self::ERROR_MESSAGE],
224258
$extra['url'],
225-
$collectedExceptionData['errorType']
259+
$collectedExceptionData[self::ERROR_TYPE]
226260
)
227261
) {
228262
return;
229263
}
230264

231-
unset($extra['server_url']);
232-
$this->logger->log($collectedExceptionData['priority'], $collectedExceptionData['errorMessage'], $extra);
265+
unset($extra[self::SERVER_URL]);
266+
$this->logger->log(
267+
$collectedExceptionData[self::PRIORITY],
268+
$collectedExceptionData[self::ERROR_MESSAGE],
269+
$extra
270+
);
233271
} catch (RuntimeException $e) {
234272
$collectedExceptionData = $this->collectErrorExceptionData($e);
235273
$extra = $this->collectErrorExceptionExtraData($collectedExceptionData, $request);
236-
unset($extra['server_url']);
274+
unset($extra[self::SERVER_URL]);
237275
}
238276

239277
$this->sendMail(
240-
$collectedExceptionData['priority'],
241-
$collectedExceptionData['errorMessage'],
278+
$collectedExceptionData[self::PRIORITY],
279+
$collectedExceptionData[self::ERROR_MESSAGE],
242280
$extra,
243-
'[' . $serverUrl . '] ' . $collectedExceptionData['errorType'] . ' has thrown'
281+
'[' . $serverUrl . '] ' . $collectedExceptionData[self::ERROR_TYPE] . ' has thrown'
244282
);
245283
}
246284
}

src/Handler/Writer/Checker/Db.php

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@
1414

1515
class Db
1616
{
17+
/**
18+
* @var string
19+
*/
20+
private const OPTIONS = 'options';
21+
22+
/**
23+
* @var string
24+
*/
25+
private const COLUMN = 'column';
26+
27+
/**
28+
* @var string
29+
*/
30+
private const EXTRA = 'extra';
31+
1732
public function __construct(
1833
private DbWriter $dbWriter,
1934
private array $configLoggingSettings,
@@ -34,15 +49,15 @@ public function isExists(
3449
foreach ($this->logWritersConfig as $logWriterConfig) {
3550
if ($logWriterConfig['name'] === 'db') {
3651
// table definition
37-
$table = $logWriterConfig['options']['table'];
52+
$table = $logWriterConfig[self::OPTIONS]['table'];
3853

3954
// columns definition
40-
$timestamp = $logWriterConfig['options']['column']['timestamp'];
41-
$message = $logWriterConfig['options']['column']['message'];
42-
$file = $logWriterConfig['options']['column']['extra']['file'];
43-
$line = $logWriterConfig['options']['column']['extra']['line'];
44-
$url = $logWriterConfig['options']['column']['extra']['url'];
45-
$error_type = $logWriterConfig['options']['column']['extra']['error_type'];
55+
$timestamp = $logWriterConfig[self::OPTIONS][self::COLUMN]['timestamp'];
56+
$message = $logWriterConfig[self::OPTIONS][self::COLUMN]['message'];
57+
$file = $logWriterConfig[self::OPTIONS][self::COLUMN][self::EXTRA]['file'];
58+
$line = $logWriterConfig[self::OPTIONS][self::COLUMN][self::EXTRA]['line'];
59+
$url = $logWriterConfig[self::OPTIONS][self::COLUMN][self::EXTRA]['url'];
60+
$error_type = $logWriterConfig[self::OPTIONS][self::COLUMN][self::EXTRA]['error_type'];
4661

4762
$tableGateway = new TableGateway($table, $db, null, new ResultSet());
4863
$select = $tableGateway->getSql()->select();

src/Handler/Writer/Mail.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626

2727
class Mail extends BaseMail
2828
{
29+
/**
30+
* @var string
31+
*/
32+
private const NAME = 'name';
33+
2934
/**
3035
* @throws LogException\InvalidArgumentException
3136
*/
@@ -86,7 +91,7 @@ public function shutdown(): void
8691
private function bodyAddPart(MimeMessage $mimeMessage, array $data): MimeMessage
8792
{
8893
foreach ($data as $singleData) {
89-
if (key($singleData) === 'name' && ! is_array($singleData['name'])) {
94+
if (key($singleData) === self::NAME && ! is_array($singleData[self::NAME])) {
9095
$mimeMessage = $this->singleBodyAddPart($mimeMessage, $singleData);
9196
continue;
9297
}
@@ -101,7 +106,7 @@ private function singleBodyAddPart(MimeMessage $mimeMessage, array $data): MimeM
101106
{
102107
$mimePart = new Part(fopen($data['tmp_name'], 'r'));
103108
$mimePart->type = $data['type'];
104-
$mimePart->filename = $data['name'];
109+
$mimePart->filename = $data[self::NAME];
105110
$mimePart->disposition = Mime::DISPOSITION_ATTACHMENT;
106111
$mimePart->encoding = Mime::ENCODING_BASE64;
107112

src/Listener/Mvc.php

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,15 @@ class Mvc extends AbstractListenerAggregate
2424
{
2525
use HeroTrait;
2626

27-
private ?MvcEvent $mvcEvent = null;
27+
/**
28+
* @var string
29+
*/
30+
private const DISPLAY_SETTINGS = 'display-settings';
31+
32+
/**
33+
* @var string
34+
*/
35+
private const MESSAGE = 'message';
2836

2937
public function __construct(
3038
private array $errorHeroModuleConfig,
@@ -58,8 +66,11 @@ public function exceptionError(MvcEvent $mvcEvent): void
5866
}
5967

6068
if (
61-
isset($this->errorHeroModuleConfig['display-settings']['exclude-exceptions'])
62-
&& isExcludedException($this->errorHeroModuleConfig['display-settings']['exclude-exceptions'], $exception)
69+
isset($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['exclude-exceptions'])
70+
&& isExcludedException(
71+
$this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['exclude-exceptions'],
72+
$exception
73+
)
6374
) {
6475
// rely on original mvc process
6576
return;
@@ -70,7 +81,7 @@ public function exceptionError(MvcEvent $mvcEvent): void
7081
$request = $mvcEvent->getRequest()
7182
);
7283

73-
if ($this->errorHeroModuleConfig['display-settings']['display_errors']) {
84+
if ($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['display_errors']) {
7485
// rely on original mvc process
7586
return;
7687
}
@@ -95,9 +106,9 @@ private function showDefaultView(MvcEvent $mvcEvent, RequestInterface $request):
95106
$isXmlHttpRequest = $request->isXmlHttpRequest();
96107
if (
97108
$isXmlHttpRequest &&
98-
isset($this->errorHeroModuleConfig['display-settings']['ajax']['message'])
109+
isset($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['ajax'][self::MESSAGE])
99110
) {
100-
$message = $this->errorHeroModuleConfig['display-settings']['ajax']['message'];
111+
$message = $this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['ajax'][self::MESSAGE];
101112
$contentType = detectMessageContentType($message);
102113

103114
$response->getHeaders()->addHeaderLine('Content-type', $contentType);
@@ -108,10 +119,10 @@ private function showDefaultView(MvcEvent $mvcEvent, RequestInterface $request):
108119
}
109120

110121
$model = $mvcEvent->getViewModel();
111-
$model->setTemplate($this->errorHeroModuleConfig['display-settings']['template']['layout']);
122+
$model->setTemplate($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['template']['layout']);
112123
$model->setVariable(
113124
$model->captureTo(),
114-
$this->phpRenderer->render($this->errorHeroModuleConfig['display-settings']['template']['view'])
125+
$this->phpRenderer->render($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['template']['view'])
115126
);
116127

117128
$response->setContent($this->phpRenderer->render($model));
@@ -127,7 +138,7 @@ private function showDefaultView(MvcEvent $mvcEvent, RequestInterface $request):
127138
'columnWidths' => [150],
128139
]);
129140
$table->setDecorator('ascii');
130-
$table->appendRow([$this->errorHeroModuleConfig['display-settings']['console']['message']]);
141+
$table->appendRow([$this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['console'][self::MESSAGE]]);
131142

132143
$response->setContent($table->render());
133144
$response->send();

src/Middleware/Mezzio.php

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ class Mezzio implements MiddlewareInterface
3030

3131
private ?ServerRequestInterface $request = null;
3232

33+
/**
34+
* @var string
35+
*/
36+
private const DISPLAY_SETTINGS = 'display-settings';
37+
3338
/**
3439
* @param mixed[] $errorHeroModuleConfig
3540
*/
@@ -66,8 +71,11 @@ public function process(
6671
public function exceptionError(Throwable $throwable): Response
6772
{
6873
if (
69-
isset($this->errorHeroModuleConfig['display-settings']['exclude-exceptions'])
70-
&& isExcludedException($this->errorHeroModuleConfig['display-settings']['exclude-exceptions'], $throwable)
74+
isset($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['exclude-exceptions'])
75+
&& isExcludedException(
76+
$this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['exclude-exceptions'],
77+
$throwable
78+
)
7179
) {
7280
throw $throwable;
7381
}
@@ -79,7 +87,7 @@ public function exceptionError(Throwable $throwable): Response
7987
Psr7ServerRequest::toLaminas($request)
8088
);
8189

82-
if ($this->errorHeroModuleConfig['display-settings']['display_errors']) {
90+
if ($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['display_errors']) {
8391
throw $throwable;
8492
}
8593

@@ -100,14 +108,14 @@ private function showDefaultView(): Response|HtmlResponse
100108

101109
if (
102110
$isXmlHttpRequest &&
103-
isset($this->errorHeroModuleConfig['display-settings']['ajax']['message'])
111+
isset($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['ajax']['message'])
104112
) {
105113
return $this->responseByConfigMessage('ajax');
106114
}
107115

108116
if ($this->templateRenderer instanceof LaminasViewRenderer) {
109117
$viewModel = new ViewModel();
110-
$viewModel->setTemplate($this->errorHeroModuleConfig['display-settings']['template']['layout']);
118+
$viewModel->setTemplate($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['template']['layout']);
111119

112120
$rendererLayout = &Closure::bind(
113121
static fn&($renderer) => $renderer->layout,
@@ -118,14 +126,14 @@ private function showDefaultView(): Response|HtmlResponse
118126
}
119127

120128
return new HtmlResponse(
121-
$this->templateRenderer->render($this->errorHeroModuleConfig['display-settings']['template']['view']),
129+
$this->templateRenderer->render($this->errorHeroModuleConfig[self::DISPLAY_SETTINGS]['template']['view']),
122130
500
123131
);
124132
}
125133

126134
private function responseByConfigMessage(string $key): Response
127135
{
128-
$message = $this->errorHeroModuleConfig['display-settings'][$key]['message'];
136+
$message = $this->errorHeroModuleConfig[self::DISPLAY_SETTINGS][$key]['message'];
129137
$contentType = detectMessageContentType($message);
130138

131139
$response = new Response();

0 commit comments

Comments
 (0)