Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mengurus Laluan Aset CSS dalam Symfony 2 untuk Penggunaan yang Selamat dan Cekap?

Bagaimana untuk Mengurus Laluan Aset CSS dalam Symfony 2 untuk Penggunaan yang Selamat dan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-11-12 09:18:01
asal
986 orang telah melayarinya

How to Manage CSS Asset Paths in Symfony 2 for Secure and Efficient Deployment?

Laluan untuk Aset CSS dalam Symfony 2

Masalah:

Dalam projek Symfony 2 , anda mempunyai fail CSS dengan rujukan kepada imej dan fon (cth., url(..)). Anda ingin merujuk fail ini dalam CSS tanpa mendedahkan secara langsung yang asal dalam direktori awam.

Penyelesaian Kemungkinan:

Penyelesaian 1: Laluan Mutlak

Menukar semua laluan dalam CSS kepada laluan mutlak bukanlah penyelesaian yang sesuai kerana aplikasi mungkin tidak sentiasa boleh diakses daripada subdirektori yang sama.

Penyelesaian 2: Asetik dengan Penapis "cssrewrite"

Menggunakan Assetic dengan penapis "cssrewrite" boleh membantu menulis semula laluan , tetapi ia sering mengakibatkan laluan yang salah generasi.

Penyelesaian 3: Laluan Relatif

Menukar semua laluan dalam CSS menjadi relatif kepada lokasi lembaran gaya berfungsi kecuali dalam persekitaran pembangunan, di mana laluan CSS mengandungi "/app_dev.php" dan membawa kepada "NotFoundHttpException" untuk imej laluan.

Penyelesaian Berfungsi:

Satu-satunya penyelesaian yang berfungsi ialah meletakkan fail CSS asal dalam direktori peribadi (cth., "Sumber/aset/css") dan menyusunnya ke direktori awam (cth., "web/css") menggunakan Asetik.

Struktur Kod:

...
+-src/
| +-MyCompany/
|   +-MyBundle/
|     +-Resources/
|       +-assets/
|         +-css/
|           +-stylesheets...
+-web/
| +-css/
|   +-stylexyz.css
| +-images/
|   +-images...
...
Salin selepas log masuk

Kod Ranting Asetik:

{% stylesheets
    '@MyCompanyMyBundle/Resources/assets/css/*.css'
    filter="cssrewrite"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Salin selepas log masuk

Proses Penyusunan :

Proses ini akan memastikan bahawa fail CSS adalah disusun ke dalam direktori awam dengan laluan imej yang betul:

  1. Salin fail CSS asal ke direktori awam.
  2. Jalankan "assetic:dump" untuk menyusun fail CSS.
  3. Alih keluar fail CSS asal daripada orang ramai direktori.

Kelebihan:

  • Membolehkan untuk menyimpan fail CSS asal dalam direktori peribadi.
  • Mengkompil CSS kepada orang ramai direktori dengan laluan imej yang betul.
  • Tidak mendedahkan fail CSS asal kepada awam.

Atas ialah kandungan terperinci Bagaimana untuk Mengurus Laluan Aset CSS dalam Symfony 2 untuk Penggunaan yang Selamat dan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan