Example #1
0
            if (isset($props[$key])) {
                $props[$key] = $overwrite;
            }
        }
        // property is another object of known class
        // e.g. Request => Request
        foreach ($classes as $clname => $oo) {
            if (isset($props[$clname])) {
                $props[$clname] = $clname;
            }
        }
        $properties[$classname] = $props;
    }
    return $properties;
}
HTTPWatch::$apipath = 'whatevers';
$http = new HTTPWatch();
$http->go('http://google.com/search?q=stoyan');
// some vars for short
$plug =& $http->watch;
$item = $plug->Log->Entries->Item(0);
$summary = $plug->Log->Entries->Summary;
// class names and example objects for each
// so we can introspect the objects and derive
// properties from them
$classes = array('Entry' => $item, 'Content' => $item->Content, 'Summary' => $summary, 'CacheInfo' => $item->CacheBefore, 'Request' => $item->Request, 'Response' => $item->Response, 'Timings' => $item->Timings, 'Timing' => $item->Timings->Blocked, 'Cookie' => $item->Request->Cookies->Item(0), 'Warning' => $plug->Log->Entries->Item(3)->Warnings(0), 'WarningSummary' => $summary->WarningSummaries(0), 'ResultSummary' => $summary->StatusCodes(0), 'TimingSummaries' => $summary->TimingSummaries, 'TimingSummary' => $summary->TimingSummaries->Blocked, 'Header' => $item->Request->Headers->Item(0), 'QueryStringValue' => $item->Request->QueryStringValues->Item(0));
// exceptions:
// + members that are lists
// + members that are objects of a class not matching their name
// + unsupported members
$object_values = array('Cookies' => array('Cookie'), 'Entries' => array('Entry'), 'Headers' => array('Header'), 'Pages' => array('Page'), 'PageEvents' => array('PageEvent'), 'POSTParameters' => array('POSTParameter'), 'QueryStringValues' => array('QueryStringValue'), 'ResultSummaries' => array('ResultSummary'), 'Warnings' => array('Warning'), 'WarningSummaries' => array('WarningSummary'), 'CacheBefore' => 'CacheInfo', 'CacheAfter' => 'CacheInfo', 'Errors' => array('ResultSummary'), 'StatusCodes' => array('ResultSummary'), 'Events' => 'PageEvents', 'Page' => false);