本文整理匯總了PHP中think\Debug::getRangeTime方法的典型用法代碼示例。如果您正苦於以下問題:PHP Debug::getRangeTime方法的具體用法?PHP Debug::getRangeTime怎麽用?PHP Debug::getRangeTime使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類think\Debug
的用法示例。
在下文中一共展示了Debug::getRangeTime方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: debug
/**
* 記錄時間(微秒)和內存使用情況
* @param string $start 開始標簽
* @param string $end 結束標簽
* @param integer|string $dec 小數位 如果是m 表示統計內存占用
* @return mixed
*/
function debug($start, $end = '', $dec = 6)
{
if ('' == $end) {
Debug::remark($start);
} else {
return 'm' == $dec ? Debug::getRangeMem($start, $end) : Debug::getRangeTime($start, $end, $dec);
}
}
示例2: G
/**
* 記錄時間(微秒)和內存使用情況
* @param string $start 開始標簽
* @param string $end 結束標簽
* @param integer $dec 小數位
* @return mixed
*/
function G($start, $end = '', $dec = 6)
{
if ('' == $end) {
\think\Debug::remark($start);
} else {
return 'm' == $dec ? \think\Debug::getRangeMem($start, $end) : \think\Debug::getRangeTime($start, $end, $dec);
}
}
示例3: testGetRangeTime
/**
* @covers think\Debug::getRangeTime
* @todo Implement testGetRangeTime().
*/
public function testGetRangeTime()
{
$start = "testGetRangeTimeStart";
$end = "testGetRangeTimeEnd";
\think\Debug::remark($start);
usleep(20000);
// \think\Debug::remark($end);
$time = \think\Debug::getRangeTime($start, $end);
$this->assertLessThan(0.03, $time);
//$this->assertEquals(0.03, ceil($time));
}
示例4: debug
/**
* 數據庫調試 記錄當前SQL
* @access protected
* @param boolean $start 調試開始標記 true 開始 false 結束
*/
protected function debug($start)
{
if (!empty($this->config['debug'])) {
// 開啟數據庫調試模式
if ($start) {
Debug::remark('queryStartTime', 'time');
} else {
$this->modelSql[$this->model] = $this->queryStr;
// 記錄操作結束時間
Debug::remark('queryEndTime', 'time');
Log::record($this->queryStr . ' [ RunTime:' . Debug::getRangeTime('queryStartTime', 'queryEndTime') . 's ]', 'sql');
}
}
}
示例5: debug
/**
* 數據庫調試 記錄當前SQL
* @access protected
* @param boolean $start 調試開始標記 true 開始 false 結束
*/
protected function debug($start)
{
if (!empty($this->config['debug'])) {
// 開啟數據庫調試模式
if ($start) {
Debug::remark('queryStartTime', 'time');
} else {
$this->modelSql[$this->model] = $this->queryStr;
// 記錄操作結束時間
Debug::remark('queryEndTime', 'time');
$log = $this->queryStr . ' [ RunTime:' . Debug::getRangeTime('queryStartTime', 'queryEndTime') . 's ]';
// SQL性能分析
if (0 === stripos(trim($this->queryStr), 'select')) {
$result = $this->getExplain($this->queryStr);
Log::record('[ EXPLAIN : ' . var_export($result, true) . ' ]', 'sql');
}
Log::record('[ SQL ] ' . $log, 'sql');
}
}
}
示例6: debug
/**
* 數據庫調試 記錄當前SQL及分析性能
* @access protected
* @param boolean $start 調試開始標記 true 開始 false 結束
* @return void
*/
protected function debug($start)
{
if (!empty($this->config['debug'])) {
// 開啟數據庫調試模式
if ($start) {
Debug::remark('queryStartTime', 'time');
} else {
// 記錄操作結束時間
Debug::remark('queryEndTime', 'time');
$runtime = Debug::getRangeTime('queryStartTime', 'queryEndTime');
$log = $this->queryStr . ' [ RunTime:' . $runtime . 's ]';
$result = [];
// SQL性能分析
if ($this->config['sql_explain'] && 0 === stripos(trim($this->queryStr), 'select')) {
$result = $this->getExplain($this->queryStr);
}
// SQL監聽
$this->trigger($this->queryStr, $runtime, $result);
}
}
}
示例7: debug
/**
* 數據庫調試 記錄當前SQL
* @access protected
* @param boolean $start 調試開始標記 true 開始 false 結束
*/
protected function debug($start)
{
if (!empty($this->config['debug'])) {
// 開啟數據庫調試模式
if ($start) {
Debug::remark('queryStartTime', 'time');
} else {
$this->modelSql[$this->model] = $this->queryStr;
// 記錄操作結束時間
Debug::remark('queryEndTime', 'time');
$log = $this->queryStr . ' [ RunTime:' . Debug::getRangeTime('queryStartTime', 'queryEndTime') . 's ]';
// SQL性能分析
if (0 === stripos(trim($this->queryStr), 'select')) {
$pdo = $this->linkID->query("EXPLAIN " . $this->queryStr);
$result = $pdo->fetch(PDO::FETCH_ASSOC);
if (strpos($result['extra'], 'filesort') || strpos($result['extra'], 'temporary')) {
Log::record('SQL:' . $this->queryStr . '[' . $result['extra'] . ']', 'warn');
}
$log .= '[ EXPLAIN : ' . var_export($result, true) . ' ]';
}
Log::record('[ SQL ] ' . $log, 'sql');
}
}
}
示例8: listen
/**
* 監聽標簽的行為
* @param string $tag 標簽名稱
* @param mixed $params 傳入參數
* @param mixed $extra 額外參數
* @param bool $once 隻獲取一個有效返回值
* @return mixed
*/
public static function listen($tag, &$params = null, $extra = null, $once = false)
{
$results = [];
if (isset(self::$tags[$tag])) {
foreach (self::$tags[$tag] as $name) {
if (App::$debug) {
Debug::remark('behavior_start', 'time');
}
$result = self::exec($name, $tag, $params, $extra);
if (!is_null($result) && $once) {
return $result;
}
if (App::$debug) {
Debug::remark('behavior_end', 'time');
if ($name instanceof \Closure) {
$name = 'Closure';
} elseif (is_object($name)) {
$name = get_class($name);
}
Log::record('[ BEHAVIOR ] Run ' . $name . ' @' . $tag . ' [ RunTime:' . Debug::getRangeTime('behavior_start', 'behavior_end') . 's ]', 'info');
}
if (false === $result) {
// 如果返回false 則中斷行為執行
break;
}
$results[] = $result;
}
}
return $once ? null : $results;
}
示例9: exec
/**
* 執行某個行為
* @param mixed $class 要執行的行為
* @param string $tag 方法名(標簽名)
* @param Mixed $params 傳人的參數
* @param mixed $extra 額外參數
* @return mixed
*/
public static function exec($class, $tag = '', &$params = null, $extra = null)
{
App::$debug && Debug::remark('behavior_start', 'time');
if (is_callable($class)) {
$result = call_user_func_array($class, [&$params, $extra]);
$class = 'Closure';
} elseif (is_object($class)) {
$result = call_user_func_array([$class, $tag], [&$params, $extra]);
$class = get_class($class);
} else {
$obj = new $class();
$result = $tag && is_callable([$obj, $tag]) ? $obj->{$tag}($params, $extra) : $obj->run($params, $extra);
}
if (App::$debug) {
Debug::remark('behavior_end', 'time');
Log::record('[ BEHAVIOR ] Run ' . $class . ' @' . $tag . ' [ RunTime:' . Debug::getRangeTime('behavior_start', 'behavior_end') . 's ]', 'info');
}
return $result;
}