You are here

public function Time::getRequestTime in Lightning Scheduler 8

Returns the timestamp for the current request.

This method should be used to obtain the current system time at the start of the request. It will be the same value for the life of the request (even for long execution times).

If the request is not available it will fallback to the current system time.

This method can replace instances of

$request_time = $_SERVER['REQUEST_TIME'];
$request_time = REQUEST_TIME;
$request_time = $requestStack
  ->getCurrentRequest()->server
  ->get('REQUEST_TIME');
$request_time = $request->server
  ->get('REQUEST_TIME');

and most instances of

$time = time();

with

$request_time = \Drupal::time()
  ->getRequestTime();

or the equivalent using the injected service.

Using the time service, rather than other methods, is especially important when creating tests, which require predictable timestamps.

Return value

int A Unix timestamp.

Overrides Time::getRequestTime

See also

\Drupal\Component\Datetime\TimeInterface::getRequestMicroTime()

\Drupal\Component\Datetime\TimeInterface::getCurrentTime()

\Drupal\Component\Datetime\TimeInterface::getCurrentMicroTime()

File

src/Time.php, line 40

Class

Time
@internal This is an internal part of Lightning Scheduler and may be changed or removed at any time without warning. It should not be used by external code in any way.

Namespace

Drupal\lightning_scheduler

Code

public function getRequestTime() {
  return $this->state
    ->get('lightning_scheduler.request_time', parent::getRequestTime());
}