Метод openSection
Метод openSection класса Stopwatch открывает именованную секцию.
Секция позволяет замерять время сразу для нескольких событий,
объединённых одним именем. Первым параметром передаётся имя секции.
Внутри секции можно запускать события через start и останавливать их через stop.
Закрывается секция методом stopSection.
Синтаксис
$stopwatch->openSection(string $id);
Пример
Давайте откроем секцию 'section1' и запустим внутри неё событие:
<?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->openSection('section1');
$stopwatch->start('event1', 'section1');
$stopwatch->stop('event1');
$stopwatch->stopSection('section1');
return new Response('done');
}
}
?>
Результат выполнения кода:
"done"
Пример
Давайте выведем события секции через getSectionEvents:
<?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->openSection('section1');
$stopwatch->start('event1', 'section1');
$stopwatch->stop('event1');
$stopwatch->stopSection('section1');
$events = $stopwatch->getSectionEvents('section1');
return new Response(implode(', ', array_keys($events)));
}
}
?>
Результат выполнения кода:
"event1"
Смотрите также
-
класс
Stopwatch,
который замеряет время выполнения кода -
метод
start,
который запускает событие секундомера -
метод
stop,
который останавливает событие секундомера -
метод
stopSection,
который закрывает именованную секцию