| Server IP : 172.67.187.206 / Your IP : 172.71.28.156 Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30 System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586 User : SYSTEM ( 0) PHP Version : 5.6.30 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : E:/Inetpub/www/myschool/triamudom/tuprblearn/lib/horde/framework/Horde/Support/ |
Upload File : |
<?php
/**
* Simple interface for timing operations.
*
* <code>
* $t = new Horde_Support_Timer;
* $t->push();
* $elapsed = $t->pop();
* </code>
*
* Copyright 1999-2017 Horde LLC (http://www.horde.org/)
*
* @category Horde
* @package Support
* @license http://www.horde.org/licenses/bsd
*/
class Horde_Support_Timer
{
/**
* Holds the starting timestamp.
*
* @var array
*/
protected $_start = array();
/**
* Current index for stacked timers.
*
* @var integer
*/
protected $_idx = 0;
/**
* Push a new timer start on the stack.
*/
public function push()
{
$start = $this->_start[$this->_idx++] = microtime(true);
return $start;
}
/**
* Pop the latest timer start and return the difference with the current
* time.
*
* @return float The amount of time passed.
*/
public function pop()
{
$etime = microtime(true);
if (! ($this->_idx > 0)) {
throw new Exception('No timers have been started');
}
return $etime - $this->_start[--$this->_idx];
}
}