SORU
4 NİSAN 2014, Cuma


Assetic arasındaki fark:döküm ve varlıkları yükleyin:

assetic:dump assets:install arasındaki fark nedir Symfony2,? Ne senaryolar içinde bu komutları kullanılmalıdır ve ne sipariş ederseniz amacıyla söz konusu ise)?

CEVAP
5 NİSAN 2014, CUMARTESİ


Aslında 43* *Symfony 2 üzerine kurulu olan OroCRM hakkında bir makale. Eğer içerik farklı komutları/neden bazı istiyorsanız, size ilginç gelebilir.

Önuç dosyaları (javascript, css, resimler, vb.) olmak üzere iki farklı sistem vardır Symfony bir uygulama. assets:install ilk önce komut geldi. Bu komut için bir uygulama tüm Symfony Demetleri arama

Resources/public

klasör. Bulunan, assets:install komut veya web/public/bundle/[bundle-name] 13 *kopya dosyaların sembolik olacak. Bu bağlantılar assets dal fonksiyonu ile oluşturulan bu dosyaları arayın. Bu

<script src="{{ asset('js/script.js') }}" type="text/javascript"></script>

Bu olur

<script src="/bundles/[bundle-name]/js/script.js" type="text/javascript"></script>

assets sistem yapar. Senin önyüz paket dosyaları sağlar.

assetic sistemi farklı. assetic, bu gibi dosyalar için bağlantı.

{% javascripts '@AcmeFooBundle/Resources/public/js/foo.js' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

Stil ve görüntüler için benzer etiketleri var. assetic dosyaları için bağlantı sağlar dikkat edinherhangi birbundle. (@AcmeFooBundle). Assetic ayrıca joker ile bir klasör içinde birden fazla dosya için bağlantı izin verir.

{% javascripts '@AcmeFooBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

assetic ile başka bir fark bağlantılar oluşturulur. dev ortamında böyle bir şey bakacağız.

<script type="text/javascript" src="/app_dev.php/js/foo.js"></script>
<script type="text/javascript" src="/app_dev.php/js/bar.js"></script>

Yani, bu dosyalar için istekleri PHP ön denetleyicisi (app_dev.php) özel yollar assetic paket kur üzerinden geçecek. Bu, dev modunda olunca, hiç kıymetleri ihtiyacı olduğu anlamına gelmektedir. Otomatik olarak dahil ediyorlar. Ayrıca, dosyalar için filtre uygulamak için izin verir. Örneğin, aşağıdaki dosyaları çekti cssrewrite filtre uygular.

{% stylesheets 'bundles/acme_foo/css/*' filter='cssrewrite' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

Eğer hiç programlı lisesine varlıkların çıktı değiştirmek istedim — assetic özel dal filtreleri yazarak bunu sağlar.

Ancak, bu performans yoğundur. Tek tek her dosyayı PHP ön denetleyicisi bir dosya üzerinden bağlamak yerine üretim, oluşturulan HTML bu gibi görünecektir

<script type="text/javascript" src="/js/as5s31l.js"></script>

Nerede as5s31l.js nereden geliyor? assetic:dump komutu yapar.birleştirirtüm bireysel javascript css dosyaları (filtreler uygulandıktan sonra) ve üretim için iyi, statik, ön belleğe alınabilir bir dosya oluşturur.

Ne Yapman gerektiğini

Proje özellikle aksini söylemedikçe, her zaman assets:install ve hiç bu komutları kullanmak bilmek gerekir çünkü assetic:dump çalıştırmak gerekir. Sadece dağıtmadan önce assetic:dump Çalıştır prod modunda uygulamayı görmek gerekiyor. Sırası değildir.

Yukarıda okuduğunuz ve assetic sizin için neler yapabileceğini emin değilseniz paket kullanacağı için, assets kullanın. İyi olacaksın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008