Загрузка производительности PHP, сравнивающая два объекта DateTime - PullRequest
1 голос
/ 24 октября 2019

У меня есть класс доступности, который делает много проверок, чтобы увидеть, доступна ли дата, но одна из этих проверок состоит в том, чтобы увидеть, находится ли зарезервированный продукт в окне бронирования (т.е. в будущем достаточно, чтобы соответствовать критериям пользователя для того жедневные заказы). Код ниже -

private function set_within_booking_window(){
    $timezone = get_option('timezone_string');
    $starttime = cb_get_product_starttime($this->product_id, $this->date);
    $this->starttime = $starttime;
    //get booking window
    $window = new DateTime();
    $window->setTimezone(new DateTimeZone($timezone));
    $buffer = get_option("cb_same_day_buffer");
    $window->add(new DateInterval("PT".$buffer."H"));
    $this->window = $window;
    if($starttime < $window){
      $this->within_booking_window = false;
    } else {
      $this->within_booking_window = true;
    }
  }

При изучении производительности вся эта операция является хорошо построенной и быстрой, ЗА ИСКЛЮЧЕНИЕМ сравнения DateTime с if ($ starttime <$ window), которое в основном УБИВАЕТ производительность всего этого класса доступности. ,Загрузка страницы составляет менее 1 секунды с этим закомментированным выражением и более 26 секунд с оставшимся в нем. </p>

Все, что я прочитал в документации PHP, говорит о том, что это лучший способ сравнить две даты -но это просто не может быть правильным ...

Есть ли какие-либо отзывы о производительности при сравнении двух объектов PHP DateTime?

...