PHP Classes

File: test.php

Recommend this page to a friend!
  Classes of Epsilon Alexey   uDebug   test.php   Download  
File: test.php
Role: Example script
Content type: text/plain
Description: Example file
Class: uDebug
Generate XML reports from PHP script execution
Author: By
Last change:
Date: 13 years ago
Size: 1,776 bytes
 

Contents

Class file image Download
<?php

// It is only line to activate UltimaPHP debugger
require_once('udebug.class.php');

// Lets here is ordinary program with delays, loops and so

// NOTE: Remove or comment out "uDebug::..." lines after debugging !

uDebug::openMarker('main');

$zoo = array();
for (
$i = 0; $i < 20; $i ++) {
   
   
uDebug::openMarker('wild_cat', $i);
   
   
$legs = 0;
    for (
$w = 0; $w < 10000; $w ++) {
       
$legs += (2 * 2); // 4 legs of each cat
   
}
   
$zoo['wild_cats'][] = $legs / 10000;
   
   
uDebug::closeMarker();
   
uDebug::openMarker('wild_goose', $i);
   
   
$legs = 0;
    for (
$w = 0; $w < 10000; $w ++) {
       
$legs += (2 * 1); // 2 legs of each goose
   
}
   
$zoo['wild_goose'][] = $legs / 10000;
   
    if (
$i % 6 == 0) {
       
// Goose with broken leg
        // Bring him to animal hospital
       
uDebug::openMarker('wild_goose_hospital', $i);
       
       
$health = 0;
        for (
$z = 0; $z < 25000; $z ++) {
           
$health += 0.78;
        }
       
       
uDebug::closeMarker();
    }
   
   
uDebug::closeMarker();
}

print_r($zoo);

uDebug::closeMarker();

// Print debug reports

$xml = uDebug::report_XML();

echo
"<pre>\n";
echo
"Debug info:\n";

echo
htmlentities(uDebug::indentedXML($xml->asXML()));

// Count time only for wild gooses
$xp = $xml->xpath('//n[@name="wild_goose"]');
$ts = 0;
foreach (
$xp as $d) {
   
$ts += (float)$d['t'];
}

echo
"\n\nTotal time for wild gooses = ".$ts;

// Count time only for wild cats
$xp = $xml->xpath('//n[@name="wild_cat"]');
$ts = 0;
foreach (
$xp as $d) {
   
$ts += (float)$d['t'];
}

echo
"\n\nTotal time for wild cats = ".$ts;

echo
"</pre>";

// In the report you can see time got to each animal (attribute "t") and also
// time got to health gooses with broken legs (so total time for that gooses increases, you can see it)