rector.php gets the codeQuality set: declare(strict_types=1) in the 85 files where Rector finds no call relying on scalar type juggling (mostly TCA and configuration, models, the content feed API and the import command), "or die" as "|| die", instanceof instead of null checks for object types, early returns and self:: in final classes. Hotel::setRooms() goes instead of getting the property Rector wanted to declare: nothing calls it, and there is no rooms column any more. Checked locally: cache warmup, the ep:* commands load, frontend crawl (~1,900 URLs) and the backchannel APIs render the same as before. Co-Authored-By: Claude Opus 5.5 <[email protected]>
31 lines
785 B
PHP
31 lines
785 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace EP\EpTheme\Form;
|
|
|
|
use EP\EpProducts\MyEP\ApiClient;
|
|
|
|
/**
|
|
* Registers the sender's address in BusPro through MyE&P (POST contactform). A failing API never
|
|
* costs the visitor the submission: the e-mail finisher still runs.
|
|
*/
|
|
class BpnApiFinisher extends AbstractMappedFinisher
|
|
{
|
|
public function __construct(private readonly ApiClient $apiClient) {}
|
|
|
|
protected function executeInternal()
|
|
{
|
|
try {
|
|
$values = $this->buildPayload();
|
|
if ([] !== $values) {
|
|
$this->apiClient->registerAddress($values);
|
|
}
|
|
} catch (\Throwable $e) {
|
|
$this->logWarning('Bpn API finisher request failed.', [
|
|
'exception' => $e,
|
|
]);
|
|
}
|
|
}
|
|
}
|