2013-02-20 24 views
5

Composer.phar'i her yüklediğimde, Symfony'nin önbelleğini temizler.Composer.phar Symfony clear önbellek

Üretim gibi başka bir ortam önbelleğini temizlemenin bir yolu var mı? Biliyorum her zaman uygulama/konsol önbelleği çalıştırabilirim: clear --env = prod. Fakat Composer’ın bağımlılıkları ele geçirdikten sonra halledilmesini istiyorum. Bu gibi görünmelidir senin composer.json bir bölüm "komut" bulacaksınız yılında

cevap

5

,: Tüm komutlar, tek bir dosyada saklanır Görüldüğü gibi

"scripts": { 
    "post-install-cmd": [ 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
    ], 
    "post-update-cmd": [ 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
    ] 
} 

Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() senin ne olduğunu aramak.

Bu komut dosyalarının kullanıcı müdahalesi olmadan çalıştırılması amaçlandığından, argüman eklemeniz amaçlanmamıştır. Ancak, kendi komut dosyalarınızı kolayca ekleyebilir veya mevcut olanları değiştirebilirsiniz.

düzenleme: Son paragrafı yeniden yazmalıyım. Bağımsız değişkenleriniz olabilir, ancak bunlar composer.json'unuzda statik olarak tanımlanmışlardır. Ek bölümde tanımlanan değerler, ör. "symfony-web-dir", ScriptHandler tarafından kullanılan argümanlardır. ScriptHandler::getOptions()'da görüldüğü gibi bestecinin CommandEvent'lerinden alınabilirler. Böylece, örneğin her bir yükleme/güncelleme sırasında temizlenecek bir dizi ortamı tanımlayabilir, betikinize geri yükleyebilir ve ardından belirtilen her ortam için temiz önbellek komutunu çağırabilirsiniz. Değerleri, muhtemelen senaryonuzda daha anlamlı olan environment variables üzerinden sağlamanız mümkün olabilir, ancak yapılandırma, örneğin ekstra bölümdeki değerlerin nasıl geçersiz kılınacağını açıklamadığı için, bu, besteci içine kazma gerektirecektir.

1

Bir besteci güncellemesinden sonra varlıkların sembolik bağlantı seçeneğini nasıl belirlediğinizi ararken bu cevabı buldum. Updating Vendors

+0

Söylemesi yararlı olurdu giriş:

Değişikliklerin bir composer.json dosyası

"extra": { "symfony-app-dir": "app", "symfony-web-dir": "web", "symfony-assets-install": "symlink" } 

src ekstra düğümünde girişini "-install symfony-varlıkları" bir ekleme yapabilirsiniz eklemek. – Alsciende

+1

hangisi olduğunu bildirmek için güncellendi – Axi