1. Go to this page and download the library: Download serendipity_hq/stopwatch library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
serendipity_hq / stopwatch example snippets
// ...
// starts event named 'process_elements'
$stopwatch->start('process_elements');
// Maybe here some other code
// Start cycling the elements
foreach ($lements as $element) {
// Process the $element
// At the end use lap() to stop the timer and start a new Period
$stopwatch->lap('process_elements');
}
// ... Some other code goes here
// Finally stop the Event and get it to get information about timing and memory
$event = $stopwatch->stop('process_elements');
use SerendipityHQ\Component\Stopwatch\Utils\Formatter;
$event = $stopwatch->getSection('section_name')->getEvent('event_name');
dump(Formatter::formatTime($event->getDuration()), Formatter::formatMemory($event->getMemory());
// ...
// Open a section
$stopwatch->openSection();
// Start the event assigning the category "numbers"
$stopwatch->start('fibonacci_event', 'numbers');
// Execute the code
dump('fibonacci_event result', '-------------', '');
$prev = 0;
$next = 1;
while($prev < 10000000000000) {
$num = $prev + $next;
dump($num);
$prev = $next;
$next = $num;
// Get a lap (returns the current event to be used if you like!)
$stopwatch->lap('fibonacci_event');
}
// Stop the event
$stopwatch->stop('fibonacci_event');
// Start a new event assigning the category "geometry"
$stopwatch->start('square_numbers_event', 'geometry');
// Execute the code
dump('square_numbers_event result', '-------------', '');
$root = 0;
while ($root < 50) {
dump($root * $root); // or pow($root, 2);
$root++;
// Get a lap (returns the current event to be used if you like!)
$stopwatch->lap('square_numbers_event');
}
// Stop the event
$stopwatch->stop('square_numbers_event');
// Stop the section assigning it a name (yes, when closing, not when opening!)
$stopwatch->stopSection('fibonacci_and_squares');
// Open a new section
$stopwatch->openSection();
// Start a new event assigning the category "geometry"
$stopwatch->start('triangle_numbers_event', 'geometry');
// Execute some code
dump('triangle_numbers_event result', '-------------', '');
for($i = 1; $i <= 10; $i++) {
$triangle = [];
for($j = 1; $j <= $i; $j++) {
$triangle[] = $j;
}
dump(implode(' ', $triangle));
// Get a lap (returns the current event to be used if you like!)
$stopwatch->lap('triangle_numbers_event');
}
// Stop the event
$stopwatch->stop('triangle_numbers_event');
// Start a new event assigning the category "numbers"
$stopwatch->start('magic_square', 'numbers');
// Execute some code
dump('magic_square result', '-------------', '');
$order = 5;
for ($row = 0; $row < $order; $row++) {
$rows = [];
for ($col = 0; $col < $order; $col++) {
$rowMatrix = ((($order + 1) / 2 + $row + $col) % $order);
$colMatrix = ((($order + 1) / 2 + $row + $order - $col - 1) % $order) + 1;
$rows[] = $rowMatrix * $order + $colMatrix;
}
dump(implode(' ', $rows));
// Get a lap (returns the current event to be used if you like!)
$stopwatch->lap('magic_square');
}
// Stop the event
$stopwatch->stop('magic_square');
// Stop the section assigning it a name (yes, when closing, not when opening!)
$stopwatch->stopSection('triangle_numbersand_magic_square');
dd($stopwatch);
use SerendipityHQ\Component\Stopwatch\Utils\Formatter;
$sectionEvent = $stopwatch->getSection('section_name')->getEvent(Stopwatch::SECTION);
dump(Formatter::formatTime($sectionEvent->getDuration()), Formatter::formatMemory($sectionEvent->getMemory());