РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1069 of 1361 menu

Метод start класса Stopwatch

Метод start класса Stopwatch запускает измерение времени. Он открывает новое событие или секцию с указанным именем. Первым параметром передаётся имя события, вторым - необязательная категория. После вызова метода секундомер начинает отсчёт времени до вызова метода stop.

Синтаксис

public function start(string $name, ?string $category = null): StopwatchEvent

Пример

Давайте запустим секундомер для события 'article' и остановим его:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentStopwatchStopwatch; class ArticleController extends AbstractController { public function index(): Response { $stopwatch = new Stopwatch(); $stopwatch->start('article'); usleep(100000); $event = $stopwatch->stop('article'); return new Response($event->getDuration() . ' ms'); } } ?>

Результат выполнения кода:

"100 ms"

Пример

Давайте запустим секундомер с указанием категории 'controller':

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentStopwatchStopwatch; class ArticleController extends AbstractController { public function index(): Response { $stopwatch = new Stopwatch(); $stopwatch->start('article', 'controller'); usleep(50000); $event = $stopwatch->stop('article'); return new Response($event->getCategory()); } } ?>

Результат выполнения кода:

"controller"

Пример

Давайте запустим несколько событий и сравним их длительность:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentStopwatchStopwatch; class ArticleController extends AbstractController { public function index(): Response { $stopwatch = new Stopwatch(); $stopwatch->start('first'); usleep(100000); $stopwatch->stop('first'); $stopwatch->start('second'); usleep(200000); $stopwatch->stop('second'); $res = [ $stopwatch->getEvent('first')->getDuration(), $stopwatch->getEvent('second')->getDuration() ]; return new Response(implode(', ', $res)); } } ?>

Результат выполнения кода:

"100, 200"

Смотрите также

  • класс Stopwatch,
    который измеряет время выполнения кода
  • метод stop,
    который останавливает измерение времени
  • метод lap,
    который фиксирует промежуточный результат
  • метод getEvent,
    который возвращает событие по имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить