2011-09-28 11 views
8

मैंने सिम्फनी 2 के साथ एक वेबसाइट बनाना शुरू किया, और मेरे पास संसाधनों के बारे में कुछ विवाद था।सिमफनी 2 में कोर संसाधन कहां रखा जाए?

सिम्फनी 2 पुस्तक कहती है कि प्रत्येक संसाधन फ़ाइल को बंडल में होना चाहिए, लेकिन सबसे आवश्यक छवियों, .js और .css फ़ाइलों के बारे में क्या है जो मैं प्रत्येक पृष्ठ पर base.html.twig फ़ाइल में उपयोग करता हूं?

क्या मुझे इन फ़ाइलों के लिए कोरबंडल या कुछ समान बनाना चाहिए, या क्या मुझे इसे ऐप \ संसाधन फ़ोल्डर (या सीधे वेब फ़ोल्डर में) में रखना चाहिए? यदि मैं इनके लिए ऐप \ संसाधन फ़ोल्डर का उपयोग कर सकता हूं, तो मैं इन फ़ाइलों को टेम्पलेट से कैसे संदर्भित कर सकता हूं?

इसके लिए एक बंडल बनाना थोड़ा अनावश्यक लगता है, और इन फ़ाइलों के लिए संपत्ति urls भी बदसूरत हैं (उदा। '/bundles/projectcore/images/logo.jpg') मेरी राय में।

यहां सबसे अच्छा अभ्यास क्या है?

उत्तर

6

मेरे पास ऐसी स्थितियां हैं जहां मैंने सभी फाइलें/वेब (यानी/वेब/जेएस) और अन्य लोगों को रखा है जहां मैंने उन्हें 'संपत्ति' बंडल में रखा है।

यदि आप एक बंडल विकसित कर रहे हैं जिसे कई परियोजनाओं में पुन: उपयोग किया जा रहा है, तो उस बंडल में संपत्तियों को स्टोर करना समझ में आता है। मुझे लगता है कि आप कमांड लाइन का उपयोग करके उन संपत्तियों को वेब फ़ोल्डर में प्रकाशित/इंस्टॉल करेंगे। उदाहरण के लिए, मान लीजिए कि आपके पास एक ब्लॉगबंडल था जिसके लिए विशिष्ट सीएसएस की आवश्यकता थी। आप उस बंडल में सीएसएस स्टोर करेंगे, अगली बार जब आप किसी प्रोजेक्ट के लिए ब्लॉगबंडल का उपयोग करेंगे तो आप आसानी से सीएसएस का पुन: उपयोग कर सकते हैं।

सिम्फनी 2 के साथ कई अन्य चीजों के साथ, आपकी व्यक्तिगत प्राथमिकता इन निर्णयों में एक बड़ा हिस्सा निभाती है। मैं आपकी संपत्तियों को स्टोर करने के साथ संगत रहने की अनुशंसा करता हूं। तीन अलग-अलग स्थानों (वेब, एसेट्सबंडल, अन्य बंडलों) में संपत्तियों का विभाजन करने के लिए एक बड़ा सिरदर्द हो सकता है। तो एक स्थान चुनें, और लगातार रहने की कोशिश करें।

ऐप/संसाधनों से संपत्तियों तक पहुंचने के लिए ... आप इसके लिए एसेटिक का उपयोग करने में सक्षम हो सकते हैं। मैं इससे बहुत परिचित नहीं हूं, लेकिन मुझे विश्वास है कि आप अपनी परियोजना के भीतर कहीं से भी संपत्ति लोड कर सकते हैं। मैं वास्तव में सिमफ़ोनी 2 एसेटिक सहायक के बजाय कोर एसेटिक कोड (vendor\Assetic देखें) पर एक नज़र डालने की सलाह देता हूं क्योंकि आपको बस इतना संभव है कि आपको क्या संभव हो।

+0

में लगता है कि मुझे लगता है कि मैं इन संसाधनों को संग्रहीत करने के लिए एसेट्सबंडल बनाउंगा, यह अभी भी उन्हें सभी वेब फ़ोल्डर में रखने से बनाए रखने योग्य है (विशेष रूप से, यदि मैं चाहता हूं इन संपत्तियों को एक अन्य परियोजना में पुन: उपयोग करें)। जवाब के लिए धन्यवाद! – banrobert

2

हम लिनक्स में एक सिमलिंक इस्तेमाल किया ताकि/वेब/बंडलों/projectcore/छवियों अंक src/बंडल/संसाधन/सार्वजनिक/Netbeans में छवियों

सबवर्सन के साथ करने के लिए है, यह काम करता है। अच्छी बात यह है कि आपका सभी एप्लिकेशन/src/बंडल फ़ोल्डर

+3

पूर्णता के लिए, यह आपके सिम्फनी 2 प्रोजेक्ट निर्देशिका में 'php app/console संपत्तियों को चलाने के साथ प्राप्त किया जा सकता है: वेब - सिमलिंक स्थापित करें'। – richsage

+0

मैं विंडोज़ पर हूं, इसलिए सिम्लिंक मेरे लिए एक विकल्प नहीं है :) वैसे भी, धन्यवाद! – banrobert

+1

@banrobert symlink विंडोज़ पर भी काम करता है – Inoryy

संबंधित मुद्दे