File parameters.yml.dist adalah temuan standar dalam kerangka kerja (framework) Symfony versi lawas (Symfony 2 dan Symfony 3) yang berfungsi sebagai temuan cetak biru (blueprint) atau temuan contoh untuk konfigurasi parameter sensitif aplikasi, seperti kredensial basis data, kunci API, dan parameter lingkungan lokal. Berkas ini wajib disertakan ke dalam sistem kontrol versi (Git), sementara file aslinya yaitu parameters.yml harus diabaikan (masuk ke dalam .gitignore) guna mencegah kebocoran data rahasia ke repositori publik.
Perbedaan Utama parameters.yml vs parameters.yml.dist
Dalam manajemen konfigurasi aplikasi berbasis Symfony lama, terdapat dua file parameter yang memiliki peran berbeda namun saling melengkapi saat proses instalasi maupun pengembangan lokal.
| Fitur / Aspek | parameters.yml.dist | parameters.yml |
|---|---|---|
| Status Git | Di-track / Disimpan di Git | Di-ignore / Masuk .gitignore |
| Isi Data | Nilai default atau kosong | Nilai asli / kredensial produksi/lokal |
| Tujuan | Acuan bagi developer baru | Digunakan aktif oleh aplikasi |
| Keamanan | Aman dibagikan ke publik | Rahasia / Sensitif |
Struktur Isi File parameters.yml.dist
Secara mendasar, file ini ditulis dalam format YAML yang memuat blok parameters. Di bawah blok tersebut, berbagai variabel global didefinisikan agar dapat diakses oleh container dependency injection Symfony.
parameters:
database_host: 127.0.0.1
database_port: ~
database_name: nama_db_lokal
database_user: root
database_password: ~
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
secret: ThisTokenIsNotSoSecretChangeIt
Langkah Penggunaan Saat Menyiapkan Proyek Baru
Ketika Anda melakukan git clone pada sebuah repositori proyek Symfony lama, file parameters.yml tidak akan ada secara otomatis. Berikut adalah prosedur standar untuk menginisialisasinya:
- Salin file
parameters.yml.distdan ubah namanya menjadiparameters.ymldi dalam direktoriapp/config/. - Buka file
parameters.ymlyang baru dibuat menggunakan teks editor pilihan Anda. - Sesuaikan nilai konfigurasi seperti host database, nama pengguna, kata sandi, dan string rahasia (
secret) sesuai dengan lingkungan server lokal atau produksi Anda. - Jalankan perintah pembaruan dependensi atau clear cache melalui terminal untuk memastikan konfigurasi terbaca oleh sistem.
# Perintah menyalin file via terminal Linux/macOS
cp app/config/parameters.yml.dist app/config/parameters.yml
# Perintah clear cache Symfony
php bin/console cache:clear
Mitigasi Kesalahan Lapangan
Seringkali pengembang pemula mengalami kendala saat melakukan deployment karena file parameters.yml tidak ikut terunggah ke server produksi. Solusi terbaik adalah membuat skrip deployment otomatis (seperti menggunakan Deployer atau Bash script) yang secara otomatis menyalin file parameters.yml.dist menjadi parameters.yml di server tujuan, lalu mengisi variabelnya secara otomatis via environment variables atau interaktif CLI.