当前位置: 首页>>代码示例>>PHP>>正文


PHP FlattenException::setStatusCode方法代码示例

本文整理汇总了PHP中Symfony\Component\HttpKernel\Exception\FlattenException::setStatusCode方法的典型用法代码示例。如果您正苦于以下问题:PHP FlattenException::setStatusCode方法的具体用法?PHP FlattenException::setStatusCode怎么用?PHP FlattenException::setStatusCode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\HttpKernel\Exception\FlattenException的用法示例。


在下文中一共展示了FlattenException::setStatusCode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: exceptionAction

 /**
  * Converts an Exception to a Response.
  *
  * @param FlattenException     $exception A FlattenException instance
  * @param DebugLoggerInterface $logger    A DebugLoggerInterface instance
  * @param string               $format    The format to use for rendering (html, xml, ...)
  * @param Boolean              $embedded  Whether the rendered Response will be embedded or not
  *
  * @throws \InvalidArgumentException When the exception template does not exist
  */
 public function exceptionAction(FlattenException $exception, DebugLoggerInterface $logger = null, $format = 'html', $embedded = false)
 {
     $this->container->get('request')->setRequestFormat($format);
     $currentContent = '';
     while (false !== ($content = ob_get_clean())) {
         $currentContent .= $content;
     }
     if ('Symfony\\Component\\Security\\Exception\\AccessDeniedException' === $exception->getClass()) {
         $exception->setStatusCode($exception->getCode());
     }
     $templating = $this->container->get('templating');
     $template = 'FrameworkBundle:Exception:' . ($this->container->get('kernel')->isDebug() ? 'exception.php' : 'error.php');
     if (!$templating->exists($template)) {
         $this->container->get('request')->setRequestFormat('html');
     }
     $response = $templating->renderResponse($template, array('exception' => $exception, 'logger' => $logger, 'currentContent' => $currentContent, 'embedded' => $embedded));
     $response->setStatusCode($exception->getStatusCode());
     return $response;
 }
开发者ID:rsky,项目名称:symfony,代码行数:29,代码来源:ExceptionController.php

示例2: exceptionAction

    /**
     * Converts an Exception to a Response.
     *
     * @param FlattenException     $exception A FlattenException instance
     * @param DebugLoggerInterface $logger    A DebugLoggerInterface instance
     * @param string               $format    The format to use for rendering (html, xml, ...)
     *
     * @throws \InvalidArgumentException When the exception template does not exist
     */
    public function exceptionAction(FlattenException $exception, DebugLoggerInterface $logger = null, $format = 'html')
    {
        $this->container->get('request')->setRequestFormat($format);

        $currentContent = '';
        while (ob_get_level()) {
            $currentContent .= ob_get_clean();
        }

        if ('Symfony\Component\Security\Exception\AccessDeniedException' === $exception->getClass()) {
            $exception->setStatusCode($exception->getCode());
        }

        $template = $this->container->get('kernel')->isDebug() ? 'exception' : 'error';
        if ($this->container->get('kernel')->isDebug() && 'html' == $format) {
            $template = 'exception_full';
        }
        $template = 'FrameworkBundle:Exception:'.$template.'.twig';

        $templating = $this->container->get('templating');
        if (!$templating->exists($template)) {
            $this->container->get('request')->setRequestFormat('html');
        }

        $response = $templating->renderResponse(
            $template,
            array(
                'exception'      => $exception,
                'logger'         => $logger,
                'currentContent' => $currentContent,
            )
        );

        $response->setStatusCode($exception->getStatusCode());

        return $response;
    }
开发者ID:pmjones,项目名称:php-framework-benchmarks,代码行数:46,代码来源:ExceptionController.php


注:本文中的Symfony\Component\HttpKernel\Exception\FlattenException::setStatusCode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。