2012-03-29 14 views
32

मुझे सिम्फनी 2 में संपत्तियों के साथ काम करने के तरीके के बारे में कुछ सुझाव चाहिए। उदाहरण के लिए, क्या हमें हमेशा संपत्तियां करना पड़ता है: प्रत्येक बार छवि को जोड़ा जाने पर अपडेट करें? मुझे पता है कि एसेटिक सीएसएस और जावास्क्रिप्ट फाइलों पर प्रबंधन का ख्याल रखता है लेकिन छवियों के बारे में क्या? सिम्फनी 2 के साथ फ्रंट एंड डेवलपमेंट के लिए सबसे अच्छा अभ्यास क्या होगा? आप अपने ऐप में अपने सीएसएस, छवियों और जेएस फ़ाइलों को कैसे विकसित, तैनात और बदलने में आसान बनाते हैं?सिम्फनी 2 - संपत्तियों के साथ काम करना

+0

है 'संपत्ति का उपयोग कर सकते है? मुझे यह कहीं और नहीं बताया गया है, और इसे सिम्फनी/एसेटिक कोडबेस में नहीं मिला है। यदि यह अस्तित्व में है, तो मुझे इसके बारे में अधिक जानने में दिलचस्पी होगी। – Sam

+0

संबंधित: http://stackoverflow.com/questions/12123069/how-to-properly-change-what-composer-or-symfony2-does-after-running-composer-up – Kzqai

उत्तर

74

के बारे में छवियों, अगर आप इसे अपने सार्वजनिक फ़ोल्डर में जोड़ा, मुझे लगता है कि assets:update

प्रदर्शन करने के लिए हालांकि, अगर आप एक बंडल के संसाधनों फ़ोल्डर्स में छवि जोड़ कोई आवश्यकता नहीं है, तो आप हो सकता है के लिए, पर निर्भर करता है आपके ओएस और assets:install

यदि आप एक ओएस का उपयोग कर रहे हैं जो सिम्लिंक का समर्थन करता है (लिनक्स, ओएस एक्स, और मुझे लगता है कि सभी ओएस लेकिन विंडोज़), तो आप संपत्ति कॉलिंग इंस्टॉल कर सकते हैं (मैं नहीं करता कॉल को बिल्कुल याद रखें, यहां महत्वपूर्ण बात सिमलिंक विकल्प है):

php app/console assets:install web --symlink 

इस तरह, प्रत्येक बंडल के संसाधनों की एक प्रति रखने के बजाय, आपके पास एक सिमलिंक होगा, इसलिए अपडेट करने की कोई आवश्यकता नहीं होनी चाहिए। यदि आपके पास एक ओएस है जो सिम्लिंक का समर्थन नहीं करता है, तो मुझे लगता है कि आपको संपत्तियों को अपडेट या पुनर्स्थापित करना होगा (वास्तव में, मैंने हमेशा assets:install का उपयोग किया था, मुझे नहीं पता था कि एक अपडेट विकल्प था: पी)।

सेट अप के संबंध में, मैं आमतौर पर बंडल के अंदर सभी सीएसएस, जेएस, छवियों और किसी भी सार्वजनिक संसाधन को रखता हूं, अगर इसे केवल बंडल के भीतर उपयोग किया जाता है, और इसे सार्वजनिक फ़ोल्डर में रखा जाता है यदि यह कई बंडलों द्वारा उपयोग किया जाता है, या मैं अन्य बंडलों में इसका इस्तेमाल करने की योजना है।

+5

'सिम्लिंक' विंडोज – DoubleYo

+1

पर भी काम करता है साथ ही, यदि आप अपने विक्रेता पैकेज को अपडेट करने के लिए संगीतकार का उपयोग कर रहे हैं, तो अपने composer.json फ़ाइल में "अतिरिक्त" सेट करें: {"symfony-assets-install": "symlink"} '([docs देखें ] (http://symfony.com/doc/current/book/installation.html#updating-vendors))। – Geert

+1

जब आप cmd (या गिट बैश) चला रहे हैं तो 'symlink' भी विंडोज़ पर काम करता है। :) क्योंकि एसेटिक http://php.net/manual/en/function.symlink.php के साथ काम करता है जो विंडोज पर समर्थित है। – Athlan

2

Symfony 2.7 के रूप में इस web निर्देशिका में रिश्तेदार सिमलिंक उत्पन्न करेगा:

php app/console assets:install web --symlink --relative 

composer.json ऐड में:

"extra": { 
    "symfony-assets-install": "relative" 
} 

यह भी composer update पर रिश्तेदार सिमलिंक उत्पन्न होगा। एक वास्तविक आदेश update`:

+0

चूंकि composer.json प्रतिबद्ध है, और इस प्रकार उत्पादन वातावरण पर स्थापित होने के दौरान उपयोग किया जाता है, मुझे यकीन नहीं है कि आप इसे अपने composer.json में सीधे चाहते हैं। – Kzqai

+0

देखें: http://stackoverflow.com/a/15797829/69993 – Kzqai