本文整理汇总了PHP中Symfony\Component\Debug\Exception\FlattenException::getAllPrevious方法的典型用法代码示例。如果您正苦于以下问题:PHP FlattenException::getAllPrevious方法的具体用法?PHP FlattenException::getAllPrevious怎么用?PHP FlattenException::getAllPrevious使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Debug\Exception\FlattenException
的用法示例。
在下文中一共展示了FlattenException::getAllPrevious方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getContent
/**
* Gets the HTML content associated with the given exception.
*
* @param FlattenException $exception A FlattenException instance
*
* @return string The content as a string
*/
public function getContent(FlattenException $exception)
{
switch ($exception->getStatusCode()) {
case 404:
$title = 'Sorry, the page you are looking for could not be found.';
break;
default:
$title = 'Whoops, looks like something went wrong.';
}
$content = '';
if ($this->debug) {
try {
$count = count($exception->getAllPrevious());
$total = $count + 1;
foreach ($exception->toArray() as $position => $e) {
$ind = $count - $position + 1;
$class = $this->formatClass($e['class']);
$message = nl2br($this->escapeHtml($e['message']));
$content .= sprintf(<<<EOF
<h2 class="block_exception clear_fix">
<span class="exception_counter">%d/%d</span>
<span class="exception_title">%s%s:</span>
<span class="exception_message">%s</span>
</h2>
<div class="block">
<ol class="traces list_exception">
EOF
, $ind, $total, $class, $this->formatPath($e['trace'][0]['file'], $e['trace'][0]['line']), $message);
foreach ($e['trace'] as $trace) {
$content .= ' <li>';
if ($trace['function']) {
$content .= sprintf('at %s%s%s(%s)', $this->formatClass($trace['class']), $trace['type'], $trace['function'], $this->formatArgs($trace['args']));
}
if (isset($trace['file']) && isset($trace['line'])) {
$content .= $this->formatPath($trace['file'], $trace['line']);
}
$content .= "</li>\n";
}
$content .= " </ol>\n</div>\n";
}
} catch (\Exception $e) {
// something nasty happened and we cannot throw an exception anymore
if ($this->debug) {
$title = sprintf('Exception thrown when handling an exception (%s: %s)', get_class($e), $this->escapeHtml($e->getMessage()));
} else {
$title = 'Whoops, looks like something went wrong.';
}
}
}
return <<<EOF
<div id="sf-resetcontent" class="sf-reset">
<h1>{$title}</h1>
{$content}
</div>
EOF;
}
示例2: getContent
public function getContent(FlattenException $exception)
{
switch ($exception->getStatusCode()) {
case 404:
$title = 'Sorry, the page you are looking for could not be found.';
break;
default:
$title = 'Whoops, looks like something went wrong.';
}
$content = '';
if ($this->debug) {
try {
$count = count($exception->getAllPrevious());
$total = $count + 1;
$truncated = 0;
foreach ($exception->toArray() as $position => $e) {
if (mb_strlen($content, '8bit') > 12 * 1024 * 1024) {
$truncated++;
continue;
}
$ind = $count - $position + 1;
$class = $this->formatClass($e['class']);
$message = nl2br($this->escapeHtml($e['message']));
$contentTemplate = <<<EOF
<h2 class="block_exception clear_fix">
<span class="exception_counter">%d/%d</span>
<span class="exception_title">%s (%d)%s:</span>
<span class="exception_message">%s</span>
</h2>
<div class="block">
EOF;
$content .= sprintf($contentTemplate, $ind, $total, $class, empty($e['code']) ? 0 : $e['code'], $this->formatPath($e['trace'][0]['file'], $e['trace'][0]['line']), $message);
if (!empty($e['data'])) {
$content .= '<h2>Data</h2>';
$content .= '<pre>' . json_encode($e['data'], JSON_PRETTY_PRINT) . '</pre>';
}
$content .= '<h2 style="margin-top:10px">Trace</h2>';
$content .= '<ol class="traces list_exception">';
foreach ($e['trace'] as $trace) {
$content .= ' <li>';
if ($trace['function']) {
$content .= sprintf('at %s%s%s(%s)', $this->formatClass($trace['class']), $trace['type'], $trace['function'], $this->formatArgs($trace['args']));
}
if (isset($trace['file']) && isset($trace['line'])) {
$content .= $this->formatPath($trace['file'], $trace['line']);
}
$content .= "</li>\n";
}
$content .= " </ol>\n</div>\n";
}
$content .= sprintf('<div class="block">%s exceptions truncated</div>', $truncated);
} catch (\Exception $e) {
// something nasty happened and we cannot throw an exception anymore
if ($this->debug) {
$title = sprintf('Exception thrown when handling an exception (%s: %s)', get_class($e), $e->getMessage());
} else {
$title = 'Whoops, looks like something went wrong.';
}
}
}
return <<<EOF
<div id="sf-resetcontent" class="sf-reset">
<h1>{$title}</h1>
{$content}
</div>
EOF;
}
示例3: getContent
/**
* Gets the HTML content associated with the given exception.
*
* @param FlattenException $exception A FlattenException instance
*
* @return string The content as a string
*/
public function getContent(FlattenException $exception)
{
switch ($exception->getStatusCode()) {
case 404:
$title = 'Sorry, the page you are looking for could not be found.';
break;
default:
$title = 'Whoops, looks like something went wrong.';
}
$content = '';
if ($this->debug) {
try {
$count = count($exception->getAllPrevious());
$total = $count + 1;
foreach ($exception->toArray() as $position => $e) {
$ind = $count - $position + 1;
$class = $this->abbrClass($e['class']);
$message = nl2br($e['message']);
$content .= sprintf(<<<EOF
<div class="block_exception clear_fix">
<h2><span>%d/%d</span> %s: %s</h2>
</div>
<div class="block">
<ol class="traces list_exception">
EOF
, $ind, $total, $class, $message);
foreach ($e['trace'] as $trace) {
$content .= ' <li>';
if ($trace['function']) {
$content .= sprintf('at %s%s%s(%s)', $this->abbrClass($trace['class']), $trace['type'], $trace['function'], $this->formatArgs($trace['args']));
}
if (isset($trace['file']) && isset($trace['line'])) {
if ($linkFormat = ini_get('xdebug.file_link_format')) {
$link = str_replace(array('%f', '%l'), array($trace['file'], $trace['line']), $linkFormat);
$content .= sprintf(' in <a href="%s" title="Go to source">%s line %s</a>', $link, $trace['file'], $trace['line']);
} else {
$content .= sprintf(' in %s line %s', $trace['file'], $trace['line']);
}
}
$content .= "</li>\n";
}
$content .= " </ol>\n</div>\n";
}
} catch (\Exception $e) {
// something nasty happened and we cannot throw an exception anymore
if ($this->debug) {
$title = sprintf('Exception thrown when handling an exception (%s: %s)', get_class($exception), $exception->getMessage());
} else {
$title = 'Whoops, looks like something went wrong.';
}
}
}
return <<<EOF
<div id="sf-resetcontent" class="sf-reset">
<h1>{$title}</h1>
{$content}
</div>
EOF;
}
示例4: getContent
/**
* Gets the HTML content associated with the given exception.
*
* @param FlattenException $exception A FlattenException instance
* @param bool $showAll Show all exceptions or just the last one
*
* @return string The content as a string
*/
public function getContent(FlattenException $exception, $showAll = true)
{
switch ($exception->getStatusCode()) {
case 404:
$title = "The page you are looking for could not be found";
break;
default:
$title = "Oh noes, something's broken";
}
$content = '';
if ($this->debug) {
try {
$exceptions = $exception->toArray();
if (false === $showAll) {
$exceptions = array_slice($exceptions, -1, 1);
$count = 1;
$total = 1;
} else {
$count = count($exception->getAllPrevious());
$total = $count + 1;
}
foreach ($exceptions as $position => $e) {
$i = 0;
$class = $this->abbrClass($e['class']);
$message = nl2br($e['message']);
if (false === $showAll) {
$content .= sprintf(<<<EOT
<div>
<h3 class="alert alert-error">%s: %s</h3>
</div>
EOT
, $class, $message);
} else {
$ind = $count - $position + 1;
$content .= sprintf(<<<EOT
<div>
<h3 class="alert alert-error">%d/%d %s: %s</h3>
</div>
EOT
, $ind, $total, $class, $message);
}
$content .= <<<EOT
<div>
<table class="table table-bordered table-striped"><tbody>
EOT;
foreach ($e['trace'] as $trace) {
$i++;
$content .= ' <tr><td>' . $i . '</td><td>';
if ($trace['function']) {
$content .= sprintf('at %s%s%s(%s)', $this->abbrClass($trace['class']), $trace['type'], $trace['function'], $this->formatArgs($trace['args']));
}
if (isset($trace['file']) && isset($trace['line'])) {
if ($linkFormat = ini_get('xdebug.file_link_format')) {
$link = str_replace(array('%f', '%l'), array($trace['file'], $trace['line']), $linkFormat);
$content .= sprintf(' in <a href="%s" title="Go to source">%s line %s</a>', $link, $trace['file'], $trace['line']);
} else {
$content .= sprintf(' in %s line %s', $trace['file'], $trace['line']);
}
}
$content .= "</td</tr>\n";
}
$content .= " </tbody></table>\n</div>\n";
}
} catch (\Exception $e) {
// something nasty happened and we cannot throw an exception anymore
if ($this->debug) {
$title = sprintf('Exception thrown when handling an exception (%s: %s)', get_class($exception), $exception->getMessage());
} else {
$title = "Uh oh something's broken";
}
}
}
list($quote, $author) = $this->getQuote();
$statusCode = $exception->getStatusCode();
$ppiLogo = $this->getPpiLogo();
return <<<EOF
<div class="page-header well">
<h1 title="An exception has occurred - Code {$statusCode}"><img src="{$ppiLogo}" height="56" width="89"> {$title}.</h1>
<p class="muted quote"><i>"{$quote}"</i> — {$author}</p>
</div>
<div class="ppi-container well">
{$content}
</div>
EOF;
}