Mungkin saya tidak mendapatkannya tetapi jika file saya sudah di-cache maka apa gunanya direktori pub di Magento 2? Satu-satunya dugaan saya yang berpendidikan adalah bahwa penggunaan mekanisme fallback dapat dikurangi dengan memiliki set file yang dikenal untuk tema.
Melalui membaca dokumen saya tidak memiliki pemahaman yang jelas tentang manfaatnya meskipun saya merasa memiliki pemahaman yang kuat tentang file dinamis, statis, dan cache.
Seperti yang saya pahami, cache hanyalah sebuah lokasi yang diketahui dari aset yang membuat saya menebak bahwa direktori pub adalah mekanisme yang menstandarkan tempat file untuk mengurangi sumber daya yang digunakan pada mekanisme fallback.
Jawaban:
Direktori pub adalah tindakan pengamanan untuk memblokir akses publik ke aset direktori root Anda, yaitu direktori aplikasi. Alasan bahwa index.php juga terletak di direktori root dianggap untuk mengatasi orang-orang yang hostingnya menyulitkan atau tidak mungkin mengubah webroot Anda.
Saat menggunakan pub / index.php folder sumber aplikasi tidak akan dapat diakses sementara itu bisa terjadi jika index.php dijalankan dari direktori root. Praktek ini juga terlihat di Symfony dan Zend 2.
Dengan cara ini, tidak ada konfigurasi aplikasi, templat, dll yang terbuka.
Secara umum, pengetahuan arsitektur sehubungan dengan pub index.php vs root index.php tidak diperlukan untuk pengembang frontend dalam sebuah tim, tetapi memahami dasar-dasarnya baik untuk diketahui.
sumber
document_root_is_pub = true
dalam Anda./app/etc/env.php
jika akar Anda/pub/
- github.com/magento/magento2/pull/9094Sebagai catatan, ada baiknya untuk diingat bahwa
/index.php
file digunakan saat menjalankan sebagai mode pengembang dan/pub/index.php
digunakan saat berjalan sebagai mode produksisumber