|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @link http://www.yiiframework.com/
|
|
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
|
|
* @license http://www.yiiframework.com/license/
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace yii\debug\panels;
|
|
|
|
|
|
|
|
use yii\debug\Panel;
|
|
|
|
use yii\helpers\Html;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
|
|
* @since 2.0
|
|
|
|
*/
|
|
|
|
class RequestPanel extends Panel
|
|
|
|
{
|
|
|
|
public function getName()
|
|
|
|
{
|
|
|
|
return 'Request';
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getSummary()
|
|
|
|
{
|
|
|
|
$memory = sprintf('%.2fMB', $this->data['memory'] / 1048576);
|
|
|
|
$time = sprintf('%.3fs', $this->data['time']);
|
|
|
|
|
|
|
|
return <<<EOD
|
|
|
|
<div class="yii-debug-toolbar-block">
|
|
|
|
Peak memory: $memory
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="yii-debug-toolbar-block">
|
|
|
|
Time spent: $time
|
|
|
|
</div>
|
|
|
|
EOD;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getDetail()
|
|
|
|
{
|
|
|
|
return "<h3>\$_GET</h3>\n" . $this->renderTable($this->data['GET']) . "\n"
|
|
|
|
. "<h3>\$_POST</h3>\n" . $this->renderTable($this->data['POST']) . "\n"
|
|
|
|
. "<h3>\$_COOKIE</h3>\n" . $this->renderTable($this->data['COOKIE']) . "\n"
|
|
|
|
. "<h3>\$_FILES</h3>\n" . $this->renderTable($this->data['FILES']) . "\n"
|
|
|
|
. "<h3>\$_SESSION</h3>\n" . $this->renderTable($this->data['SESSION']) . "\n"
|
|
|
|
. "<h3>\$_SERVER</h3>\n" . $this->renderTable($this->data['SERVER']);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function save()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
'memory' => memory_get_peak_usage(),
|
|
|
|
'time' => microtime(true) - YII_BEGIN_TIME,
|
|
|
|
'SERVER' => $_SERVER,
|
|
|
|
'GET' => $_GET,
|
|
|
|
'POST' => $_POST,
|
|
|
|
'COOKIE' => $_COOKIE,
|
|
|
|
'FILES' => empty($_FILES) ? array() : $_FILES,
|
|
|
|
'SESSION' => empty($_SESSION) ? array() : $_SESSION,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected function renderTable($values)
|
|
|
|
{
|
|
|
|
$rows = array();
|
|
|
|
foreach ($values as $name => $value) {
|
|
|
|
$rows[] = '<tr><th>' . Html::encode($name) . '</th><td>' . Html::encode(var_export($value, true)) . '</td></tr>';
|
|
|
|
}
|
|
|
|
if (!empty($rows)) {
|
|
|
|
return "<table class=\"table table-condensed table-bordered table-hover\">\n<thead>\n<tr><th>Name</th><th>Value</th></tr>\n</thead>\n<tbody>\n" . implode("\n", $rows) . "\n</tbody>\n</table>";
|
|
|
|
} else {
|
|
|
|
return 'Empty.';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|