Метод stop класса Stopwatch
Метод stop класса Stopwatch
останавливает измерение времени, которое было
запущено методом start. Метод принимает
имя события первым параметром. Если имя не
передано, останавливается последнее запущенное
событие. Метод возвращает объект StopwatchEvent
с данными о продолжительности.
Синтаксис
public function stop(string $name = null): StopwatchEvent
Пример
Давайте запустим и остановим измерение события
'article' и выведем его длительность:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Stopwatch\Stopwatch;
class ArticleController extends AbstractController
{
public function index(): Response
{
$stopwatch = new Stopwatch();
$stopwatch->start('article');
$event = $stopwatch->stop('article');
return new Response($event->getDuration());
}
}
?>
Результат выполнения кода:
15
Пример
Давайте остановим последнее запущенное событие без передачи имени:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Stopwatch\Stopwatch;
class ArticleController extends AbstractController
{
public function index(): Response
{
$stopwatch = new Stopwatch();
$stopwatch->start('article');
$event = $stopwatch->stop();
return new Response($event->getName());
}
}
?>
Результат выполнения кода:
"article"
Пример
Давайте измерим несколько событий и выведем их продолжительность:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Stopwatch\Stopwatch;
class ArticleController extends AbstractController
{
public function index(): Response
{
$stopwatch = new Stopwatch();
$stopwatch->start('first');
$stopwatch->start('second');
$event1 = $stopwatch->stop('first');
$event2 = $stopwatch->stop('second');
$res = [
$event1->getDuration(),
$event2->getDuration()
];
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
10, 25