Commit babee51d by Qiang Xue

refactored debug module

parent eaf4d3ca
...@@ -30,31 +30,12 @@ class ConfigPanel extends Panel ...@@ -30,31 +30,12 @@ class ConfigPanel extends Panel
public function getSummary() public function getSummary()
{ {
return Yii::$app->view->render('panels/config/summary', [ return Yii::$app->view->render('panels/config/summary', ['panel' => $this]);
'panel' => $this,
'data' => $this->data,
]);
} }
public function getDetail() public function getDetail()
{ {
return Yii::$app->view->render('panels/config/detail', [ return Yii::$app->view->render('panels/config/detail', ['panel' => $this]);
'panel' => $this,
'data' => $this->data,
'app' => [
'Yii Version' => $this->data['application']['yii'],
'Application Name' => $this->data['application']['name'],
'Environment' => $this->data['application']['env'],
'Debug Mode' => $this->data['application']['debug'] ? 'Yes' : 'No',
],
'php' => [
'PHP Version' => $this->data['php']['version'],
'Xdebug' => $this->data['php']['xdebug'] ? 'Enabled' : 'Disabled',
'APC' => $this->data['php']['apc'] ? 'Enabled' : 'Disabled',
'Memcache' => $this->data['php']['memcache'] ? 'Enabled' : 'Disabled',
],
'extensions' => $this->getExtensions(),
]);
} }
public function getExtensions() public function getExtensions()
......
...@@ -26,22 +26,12 @@ class RequestPanel extends Panel ...@@ -26,22 +26,12 @@ class RequestPanel extends Panel
public function getSummary() public function getSummary()
{ {
return Yii::$app->view->render('panels/request/summary', [ return Yii::$app->view->render('panels/request/summary', ['panel' => $this]);
'panel' => $this,
'data' => $this->data,
]);
} }
public function getDetail() public function getDetail()
{ {
return Yii::$app->view->render('panels/request/detail', [ return Yii::$app->view->render('panels/request/detail', ['panel' => $this]);
'panel' => $this,
'data' => [
'Route' => $this->data['route'],
'Action' => $this->data['action'],
'Parameters' => $this->data['actionParams'],
],
]);
} }
public function save() public function save()
......
<?php <?php
use yii\helpers\Html; use yii\helpers\Html;
/**
* @var yii\debug\panels\ConfigPanel $panel
*/
$extensions = $panel->getExtensions();
?> ?>
<h1>Configuration</h1> <h1>Configuration</h1>
<?php <?php
echo $this->context->renderPartial('panels/config/_data_table',[ 'caption' => 'Application Configuration', 'values' => $app]); echo $this->render('panels/config/table', [
'caption' => 'Application Configuration',
'values' => [
'Yii Version' => $panel->data['application']['yii'],
'Application Name' => $panel->data['application']['name'],
'Environment' => $panel->data['application']['env'],
'Debug Mode' => $panel->data['application']['debug'] ? 'Yes' : 'No',
],
]);
if (!empty($extensions)) { if (!empty($extensions)) {
echo $this->context->renderPartial('panels/config/_data_table',[ 'caption' => 'Installed Extensions', 'values' => $extensions]); echo $this->render('panels/config/table', [
'caption' => 'Installed Extensions',
'values' => $extensions,
]);
} }
echo $this->context->renderPartial('panels/config/_data_table',[ 'caption' => 'PHP Configuration', 'values' => $php]); echo $this->render('panels/config/table', [
'caption' => 'PHP Configuration',
'values' => [
'PHP Version' => $panel->data['php']['version'],
'Xdebug' => $panel->data['php']['xdebug'] ? 'Enabled' : 'Disabled',
'APC' => $panel->data['php']['apc'] ? 'Enabled' : 'Disabled',
'Memcache' => $panel->data['php']['memcache'] ? 'Enabled' : 'Disabled',
],
]);
?> ?>
<div><?php echo Html::a('Show phpinfo »', ['phpinfo'], ['class' => 'btn btn-primary']); ?></div> <div><?= Html::a('Show phpinfo() »', ['phpinfo'], ['class' => 'btn btn-primary']) ?></div>
\ No newline at end of file
<?php
use yii\helpers\Html;
/**
* @var yii\debug\panels\ConfigPanel $panel
*/
?>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl(); ?>"> <a href="<?= $panel->getUrl() ?>">
<img width="29" height="30" alt="" src="<?php echo $panel->getYiiLogo();?>"> <img width="29" height="30" alt="" src="<?= $panel->getYiiLogo() ?>">
<span><?php echo $data['application']['yii'];?></span> <span><?= $panel->data['application']['yii'] ?></span>
</a> </a>
</div> </div>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $this->context->createUrl('phpinfo');?>" title="Show phpinfo()">PHP <?php echo $data['php']['version'];?></a> <?= Html::a('PHP ' . $panel->data['php']['version'], ['phpinfo'], ['title' => 'Show phpinfo()']) ?>
</div> </div>
\ No newline at end of file
<?php <?php
use yii\helpers\Html; use yii\helpers\Html;
if (empty($values)): ?> /**
<h3><?php echo $caption; ?></h3> * @var string $caption
<p>Empty.</p> * @var array $values
*/
?>
<h3><?= $caption ?></h3>
<?php if (empty($values)): ?>
<p>Empty.</p>
<?php else: ?> <?php else: ?>
<h3><?php echo $caption; ?></h3>
<table class="table table-condensed table-bordered table-striped table-hover" style="table-layout: fixed;"> <table class="table table-condensed table-bordered table-striped table-hover" style="table-layout: fixed;">
<thead> <thead>
<tr> <tr>
<th style="width: 200px;">Name</th> <th style="width: 200px;">Name</th>
<th>Value</th> <th>Value</th>
</tr> </tr>
</thead> </thead>
<?php foreach($values as $name => $value): ?> <tbody>
<tr> <?php foreach($values as $name => $value): ?>
<th style="width: 200px;"><?php echo Html::encode($name); ?></th> <tr>
<td style="overflow:auto"><?php echo Html::encode($value); ?></td> <th style="width: 200px;"><?= Html::encode($name) ?></th>
</tr> <td style="overflow:auto"><?= Html::encode($value) ?></td>
<?php endforeach; ?> </tr>
</tbody> <?php endforeach; ?>
</table> </tbody>
<?php endif; ?> </table>
\ No newline at end of file
<?php endif; ?>
<?php if ($queryCount): ?> <?php if ($queryCount): ?>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl();?>" title="Executed <?php echo $queryCount; ?> database queries which took <?php echo $queryTime; ?>."> <a href="<?= $panel->getUrl() ?>" title="Executed <?php echo $queryCount; ?> database queries which took <?= $queryTime ?>.">
DB <span class="label"><?php echo $queryCount; ?></span> <span class="label"><?php echo $queryTime; ?></span> DB <span class="label"><?= $queryCount ?></span> <span class="label"><?= $queryTime ?></span>
</a> </a>
</div> </div>
<?php endif; ?> <?php endif; ?>
\ No newline at end of file
...@@ -21,8 +21,8 @@ if ($warningCount) { ...@@ -21,8 +21,8 @@ if ($warningCount) {
?> ?>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl(); ?>" title="<?php echo $title ?>">Log <a href="<?= $panel->getUrl() ?>" title="<?= $title ?>">Log
<span class="label"><?php echo count($data['messages']); ?></span> <span class="label"><?= count($data['messages']) ?></span>
<?php echo implode('&nbsp;', $output); ?> <?= implode('&nbsp;', $output) ?>
</a> </a>
</div> </div>
\ No newline at end of file
...@@ -3,7 +3,7 @@ use yii\grid\GridView; ...@@ -3,7 +3,7 @@ use yii\grid\GridView;
use yii\helpers\Html; use yii\helpers\Html;
?> ?>
<h1>Performance Profiling</h1> <h1>Performance Profiling</h1>
<p>Total processing time: <b><?php echo $time; ?></b>; Peak memory: <b><?php echo $memory; ?></b>.</p> <p>Total processing time: <b><?= $time ?></b>; Peak memory: <b><?= $memory ?></b>.</p>
<?php <?php
echo GridView::widget([ echo GridView::widget([
'dataProvider' => $dataProvider, 'dataProvider' => $dataProvider,
......
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl(); ?>" title="Total request processing time was <?php echo $time; ?>">Time <span class="label"><?php echo $time; ?></span></a> <a href="<?= $panel->getUrl() ?>" title="Total request processing time was <?= $time ?>">Time <span class="label"><?= $time ?></span></a>
</div> </div>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl(); ?>" title="Peak memory consumption">Memory <span class="label"><?php echo $memory; ?></span></a> <a href="<?= $panel->getUrl() ?>" title="Peak memory consumption">Memory <span class="label"><?= $memory ?></span></a>
</div> </div>
\ No newline at end of file
<?php <?php
use yii\bootstrap\Tabs; use yii\bootstrap\Tabs;
/**
* @var yii\debug\panels\RequestPanel $panel
*/
echo Tabs::widget([ echo Tabs::widget([
'items' => [ 'items' => [
[ [
'label' => 'Parameters', 'label' => 'Parameters',
'content' => $this->context->renderPartial('panels/request/_data_table', ['caption' => 'Routing', 'values' => $data]) 'content' => $this->render('panels/request/table', ['caption' => 'Routing', 'values' => ['Route' => $panel->data['route'], 'Action' => $panel->data['action'], 'Parameters' => $panel->data['actionParams']]])
. $this->context->renderPartial('panels/request/_data_table', ['caption' => '$_GET', 'values' => $panel->data['GET']]) . $this->render('panels/request/table', ['caption' => '$_GET', 'values' => $panel->data['GET']])
. $this->context->renderPartial('panels/request/_data_table', ['caption' => '$_POST', 'values' => $panel->data['POST']]) . $this->render('panels/request/table', ['caption' => '$_POST', 'values' => $panel->data['POST']])
. $this->context->renderPartial('panels/request/_data_table', ['caption' => '$_FILES', 'values' => $panel->data['FILES']]) . $this->render('panels/request/table', ['caption' => '$_FILES', 'values' => $panel->data['FILES']])
. $this->context->renderPartial('panels/request/_data_table', ['caption' => '$_COOKIE', 'values' => $panel->data['COOKIE']]), . $this->render('panels/request/table', ['caption' => '$_COOKIE', 'values' => $panel->data['COOKIE']]),
'active' => true, 'active' => true,
], ],
[ [
'label' => 'Headers', 'label' => 'Headers',
'content' => $this->context->renderPartial('panels/request/_data_table', ['caption' => 'Request Headers', 'values' => $panel->data['requestHeaders']]) 'content' => $this->render('panels/request/table', ['caption' => 'Request Headers', 'values' => $panel->data['requestHeaders']])
. $this->context->renderPartial('panels/request/_data_table', ['caption' => 'Response Headers', 'values' => $panel->data['responseHeaders']]) . $this->render('panels/request/table', ['caption' => 'Response Headers', 'values' => $panel->data['responseHeaders']])
], ],
[ [
'label' => 'Session', 'label' => 'Session',
'content' => $this->context->renderPartial('panels/request/_data_table', ['caption' => '$_SESSION', 'values' => $panel->data['SESSION']]) 'content' => $this->render('panels/request/table', ['caption' => '$_SESSION', 'values' => $panel->data['SESSION']])
. $this->context->renderPartial('panels/request/_data_table', ['caption' => 'Flashes', 'values' => $panel->data['flashes']]) . $this->render('panels/request/table', ['caption' => 'Flashes', 'values' => $panel->data['flashes']])
], ],
[ [
'label' => '$_SERVER', 'label' => '$_SERVER',
'content' => $this->context->renderPartial('panels/request/_data_table', ['caption' => '$_SERVER', 'values' => $panel->data['SERVER']]), 'content' => $this->render('panels/request/table', ['caption' => '$_SERVER', 'values' => $panel->data['SERVER']]),
], ],
], ],
]); ]);
?> ?>
\ No newline at end of file
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
use yii\helpers\Html; use yii\helpers\Html;
use yii\web\Response; use yii\web\Response;
$statusCode = $data['statusCode']; /**
* @var yii\debug\panels\RequestPanel $panel
*/
$statusCode = $panel->data['statusCode'];
if ($statusCode === null) { if ($statusCode === null) {
$statusCode = 200; $statusCode = 200;
} }
...@@ -16,8 +20,8 @@ if ($statusCode >= 200 && $statusCode < 300) { ...@@ -16,8 +20,8 @@ if ($statusCode >= 200 && $statusCode < 300) {
$statusText = Html::encode(isset(Response::$httpStatuses[$statusCode]) ? Response::$httpStatuses[$statusCode] : ''); $statusText = Html::encode(isset(Response::$httpStatuses[$statusCode]) ? Response::$httpStatuses[$statusCode] : '');
?> ?>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl(); ?>" title="Status code: <?php echo $statusCode; ?> <?php echo $statusText; ?>">Status <span class="label <?php echo $class; ?>"><?php echo $statusCode; ?></span></a> <a href="<?= $panel->getUrl() ?>" title="Status code: <?= $statusCode ?> <?= $statusText ?>">Status <span class="label <?= $class ?>"><?= $statusCode ?></span></a>
</div> </div>
<div class="yii-debug-toolbar-block"> <div class="yii-debug-toolbar-block">
<a href="<?php echo $panel->getUrl(); ?>">Action <span class="label"><?php echo $data['action']; ?></span></a> <a href="<?= $panel->getUrl() ?>">Action <span class="label"><?= $panel->data['action'] ?></span></a>
</div> </div>
\ No newline at end of file
<?php <?php
use yii\helpers\Html; use yii\helpers\Html;
if (empty($values)): ?> /**
<h3><?php echo $caption; ?></h3> * @var string $caption
<p>Empty.</p> * @var array $values
*/
?>
<h3><?= $caption ?></h3>
<?php if (empty($values)): ?>
<p>Empty.</p>
<?php else: ?> <?php else: ?>
<h3><?php echo $caption; ?></h3>
<table class="table table-condensed table-bordered table-striped table-hover" style="table-layout: fixed;"> <table class="table table-condensed table-bordered table-striped table-hover" style="table-layout: fixed;">
<thead> <thead>
<tr> <tr>
<th style="width: 200px;">Name</th> <th style="width: 200px;">Name</th>
<th>Value</th> <th>Value</th>
</tr> </tr>
</thead> </thead>
<?php foreach($values as $name => $value): ?> <tbody>
<tr> <?php foreach($values as $name => $value): ?>
<th style="width: 200px;"><?php echo Html::encode($name); ?></th> <tr>
<td><?php echo htmlspecialchars(var_export($value, true), ENT_QUOTES|ENT_SUBSTITUTE, \Yii::$app->charset, TRUE); ?></td> <th style="width: 200px;"><?= Html::encode($name) ?></th>
</tr> <td><?= htmlspecialchars(var_export($value, true), ENT_QUOTES|ENT_SUBSTITUTE, \Yii::$app->charset, true) ?></td>
<?php endforeach; ?> </tr>
</tbody> <?php endforeach; ?>
</table> </tbody>
<?php endif; ?> </table>
\ No newline at end of file
<?php endif; ?>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment