बस in this topic की तरह, मेरे ऐप में एक ट्रिग "रेंडर" टैग जोड़ते समय मेरे पास dev मोड में एक प्रदर्शन समस्या है (संबंधित दस्तावेज़: Embedding controllers)।Symfony2 और Twig प्रदर्शन समस्याओं को प्रस्तुत करते हैं
इस रेंडर टैग के बिना, मेरे पृष्ठ 70 एमएस से कम में उत्पन्न होते हैं। रेंडर टैग के साथ, यह कम से कम 170 एमएस है। और ऐप में जोड़े गए प्रत्येक रेंडर टैग में पेज पीढ़ी 100 एमएस तक बढ़ जाती है (जो एक एलओटी है: सामान्य पृष्ठ 60 एमएस में क्यों चलता है और 100 एमएस में रेंडर टैग क्यों होता है?)। मुझे अपने ऐप के प्रत्येक पृष्ठ पर 4 या 5 की आवश्यकता हो सकती है, ताकि इसका मतलब देव मोड में प्रत्येक पृष्ठ के लिए कम से कम 500 एमएस हो।
मैं पूरी तरह से समझता हूं कि प्रोड मोड में कोई समस्या नहीं है, लेकिन यह स्पष्ट रूप से विकास में सहज नहीं है। तो, क्या किसी को देव मोड में "रेंडर" टैग का उपयोग करते समय किसी भी बेकार कॉल, लॉग या कोड से छुटकारा पाने के लिए किसी भी तरह से पता है?
इस मामले में नियंत्रक तर्क के लिए एक सेवा बनाना बेहतर IMHO है। यदि नियंत्रक तर्क में डीबी ऑपरेशन है तो मुझे लगता है कि लॉजिक फ़ंक्शन में तर्क को स्थानांतरित करना बेहतर नहीं है। एक अलग सेवा बनाना भी पुन: प्रयोज्यता सुनिश्चित करता है अगर एम्बेडेड नियंत्रक मार्ग संलग्न है और उसे स्वतंत्र रूप से बुलाया जा सकता है। –
कुछ भी आपको टवीग एक्सटेंशन से सेवाओं को कॉल करने से रोकता है। वास्तव में, मैं यही करता हूं। यह एक वीएस-वह समस्या नहीं है। मेरे Twig एक्सटेंशन केवल सेवाओं के रूप में परिभाषित नियंत्रकों के कार्यों को बुलाओ। उन कार्यों को Twig एक्सटेंशन के बिना पुन: प्रयोज्य कर रहे हैं। –
अच्छी तरह से सेवा 'ऐप/config.yml' में twig वैश्विक चर जोड़कर जुड़वां के संपर्क में भी आ सकती है। चीजों को पूरा करने के लिए बस अलग रास्ता। वास्तव में बहस करने के लिए कुछ भी नहीं :)। –