Я есть CRUD
гейтвей к хранилищудоменной сущности и ничего не мешает генерировать и обрабатывать коллекции этой сущности.
<?php
try {
$response = $this->client->post($url, [
RequestOptions::JSON => [
'jsonrpc' => '2.0',
'method' => $methodName,
'params' => ($params),
'id' => Uuid::uuid4(),
],
RequestOptions::HEADERS => $headers,
]);
$responseData = json_decode($response->getBody()->getContents(), true);
if (isset($responseData['error'])) {
throw new \Exception($responseData['error']['message']);
}
return $responseData['result'];
} catch ( \Exception $exception) {
$logger->error($exception->getMessage());
throw new ClientException('Json-rpc client error');
}
<?php
throw new \Exception('Json-rpc client error');
<?php
throw new \ClientException($responseData['error']['message']);
2019-11-01 - 2019-11-02
2019-11-03- 2019-11-05
2019-11-06 - 2019-11-08
Добавляем в массив
2019-11-08 - 2019-11-10
Должен ругнуться. У меня тесты что-то не проходят.
<?php
class MDate {
public $start;
public $end;
public function __construct($start, $end) {
$this->start = new \DateTimeImmutable($start);
$this->end = new \DateTimeImmutable($end);
}
}
$pDates = [];
$pDates[] = new MDate('2019-11-01','2019-11-02');
$pDates[] = new MDate('2019-11-03','2019-11-05');
$pDates[] = new MDate('2019-11-06','2019-11-08');
$currentPDate = new MDate('2019-11-08','2019-11-10');
foreach ($pDates as $pdate) {
if (
($currentPDate->start >= $pdate->start && $currentPDate->start <= $pdate->end) ||
($currentPDate->end >= $pdate->start && $currentPDate->end <= $pdate->end)
) {
echo 'Входит в диапазон';
}
}