當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。