यह सवाल following change (Symfony 2.2 रिहाई का हिस्सा) से संबंधित है:Symfony 2.2 विस्तार ExceptionController
भाग 1
पूर्व 2.2 Symfony में, मैं ExceptionController
अधिभावी था कुछ कस्टम त्रुटि पृष्ठों को प्रदर्शित करने ।
मैंने किया था के माध्यम से है कि:
parameters:
twig.exception_listener.controller: My\CustomBundle\CustomExceptionController::showAction
अब, 2.2 में अपग्रेड करने के बाद, मैं अब ऐसा कर सकते हैं, क्योंकि एक अपवाद फेंका जाता है, जबकि एक अपवाद पैदा (कोई यमक इरादा):
ExceptionController :: __ निर्माण() Twig_Environment, यह देखते हुए कोई भी, में कहा जाता है का एक उदाहरण होना चाहिए ...
ExceptionController
के बाद से एक सेवा है अब, मैं इसे कैसे ओवरराइड कर सकता हूं, और मुझे अपने पुराने कोड में क्या बदलने की ज़रूरत है?
सभी मैं कस्टम कक्षा में था, showAction विधि में टेम्पलेट संदर्भ बदल गई है:
$template = new TemplateReference('TwigBundle', 'Exception', $name, $format, 'twig');
भाग 2
के बाद से ExceptionController
नहीं रह गया है ContainerAware
, फैली हुई है कि कैसे मैं वर्तमान को मिलता है कंटेनर? क्या यह ContainerAwareInterface
लागू करने के लिए पर्याप्त है?
धन्यवाद वाउटर! क्या मैं याद आ रही थी twig.controller.exception.class ओवरराइड है। अब आकर्षक के रूप में काम करता है। – isyndicate
वास्तव में मेरे सवाल के 2 भाग के लिए, ExceptionController के पिछले कार्यान्वयन में, मैं $ से पैरामीटर को पुनः प्राप्त करने में सक्षम था इस-> container-> getParameter()। मैं कैसे प्राप्त कर सकते हैं कि नए कस्टम अपवाद नियंत्रक में एक ही पैरामीटर, अब है कि यह एक सेवा है? उपयोग कर रहा है $ this-> twig-> getGlobals() सही तरीके से जाने के लिए हो सकता है? – isyndicate
मैं इस ट्यूटोरियल उपयोगी भी पाया: https://knpuniversity.com/screencast/symfony2-ep3/error-pages – shakaran