Custom Exception
ExceptionController
namespace KitBaseBundleController; use SymfonyBundleTwigBundleControllerExceptionController as BaseController; use SymfonyComponentHttpFoundationRequest; use KitAdminBundleServiceThemeService; class ExceptionController extends BaseController { private $theme; public function __construct(Twig_Environment $twig, $debug,ThemeService $theme) { parent::__construct($twig, $debug); $this->theme = $theme; } /** * @param Request $request * @param string $format * @param int $code An HTTP response status code * @param bool $showException * * @return string */ protected function findTemplate(Request $request, $format, $code, $showException) { $themeName = $this->theme->get(); $name = $showException ? "exception" : "error"; if ($showException && "html" == $format) { $name = "exception_full"; } // For themes error pages if (!$showException) { $template = sprintf("@KitWeb/theme/".$themeName."/Exception/%s%s.%s.twig", $name, $code, $format); if ($this->templateExists($template)) { return $template; } } // try to find a template for the given format $template = sprintf("@KitWeb/theme/".$themeName."/Exception/%s.%s.twig", $name, $format); if ($this->templateExists($template)) { return $template; } return parent::findTemplate($request, $format, $code, $showException); } }
ThemeService.php
doctrine = $doctrine; } public function get($default = "Default") { /** * * @var KitAdminBundleRepositoryThemeRepository $repo */ $repo = $this->doctrine->getRepository("KitAdminBundle:Theme"); $theme = $repo->findOneBy([ "status" => 1 ]); return (!empty($theme) && !empty($theme->getPath())) ? $theme->getPath() : $default; } }
config.yml
# Twig Configuration twig: .... exception_controller: twig.controller.exception:showAction
service.yml
kit_admin.theme_service: class: KitAdminBundleServiceThemeService arguments: ["@doctrine"] twig.controller.exception: class: KitBaseBundleControllerExceptionController arguments: ["@twig","%kernel.debug%", "@kit_admin.theme_service"]
views
# KitWebBundle/Resources/views/theme/Luxe/Exception/error.html.twig{{ theme_name }} self excption error
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28123.html
摘要:獲取服務重定向生成路由的返回一個添加一個判斷是否授權進入某個方法判斷用戶是否授權,否,拋出異常手動判斷是否合法把請求轉發到其他控制器和方法第二個參數為上占位符參數,第三個為其他額外的參數文件下載簡單用法示例如果是之類, Shortcuts methods in Controller 1. 獲取服務 $this->get($serviceId); 2. 重定向 ...
摘要:獲取登錄用戶信息控制器中等價于中游客用戶密碼加密校驗密碼密碼加密文件上傳相關獲取上傳的文件不為空未上傳獲取根目錄和獲取當前路由名稱 Symfony Basic 獲取登錄用戶信息 控制器中 $this->getUser(); //等價于 $this->get(security.token_storage) ->getToken() ->g...
摘要:框架關鍵技術解析讀書筆記二第五章框架應用程序根目錄版本默認的框架應用程序是符合規范的,所以相應的目錄結構也是基本固定的,不同的目錄加載了功能文件,如果添加了新的目錄,需要在文件中添加規范的自動加載部分并執行命令。 Laravel 框架關鍵技術解析·讀書筆記(二) 第五章 框架應用程序根目錄(5.1版本) 默認的Laravel框架應用程序是符合PSR規范的,所以相應的目錄結構也是基本...
摘要:可以使用來做,也是作者開發的,可靠性也有保證。不管怎樣,總會遇到很多不僅僅一個需要的,這個具有公用性的就可以做成一個放在公司內部搭建的鏡像上,這也極大提高整體的開發效率。 隨著業務越來越復雜,有些service具有通用性,即Repo A中的某一service其他的幾個Repo都會不同程度的需要,如果能把該service作為一個獨立的package,這樣其他的Repo可以composer...
摘要:異常即使程序的語法是正確的,但是在運行的時候,也有可能發生錯誤,運行期監測到的錯誤稱為異常。此時可以打印出錯誤信息,然后再次把異常拋出。這個子句將在子句沒有發生任何異常的時候執行。異常類繼承自,可以直接繼承,或者間接繼承。 1. 語法錯誤 Python 的語法錯誤被稱為解析錯,語法分析器會指出出錯的代碼行,并且在最先找到的錯誤的位置標記一個小小的箭頭。 >>> while True ...
閱讀 2800·2021-11-22 14:44
閱讀 541·2021-11-22 12:00
閱讀 3683·2019-08-30 15:54
閱讀 1570·2019-08-29 17:15
閱讀 1898·2019-08-29 13:50
閱讀 1107·2019-08-29 13:17
閱讀 3513·2019-08-29 13:05
閱讀 1181·2019-08-29 11:31