Apa itu .inc dan mengapa menggunakannya?

144

Saya sering melihat contoh di PHP yang menyertakan file include.inc. Apa arti dari .inc? Untuk apa itu digunakan? Apa saja kerugian dan keuntungan menggunakannya?

dpp
sumber

Jawaban:

275

Itu tidak ada artinya, itu hanya ekstensi file. Ini adalah konvensi beberapa orang untuk memberi nama file dengan ekstensi .inc jika file itu dirancang untuk disertakan oleh file PHP lain, tetapi itu hanya konvensi.

Itu memang memiliki kemungkinan kerugian yaitu bahwa server biasanya tidak dikonfigurasi untuk mengurai file .inc sebagai php, jadi jika file tersebut berada di root web Anda dan server Anda dikonfigurasi dengan cara default, pengguna dapat melihat kode sumber php Anda di file .inc dengan mengunjungi URL secara langsung.

Satu-satunya keuntungan yang mungkin adalah mudah untuk mengidentifikasi file mana yang digunakan sebagai penyertaan. Meskipun hanya memberi mereka ekstensi .php dan menempatkannya di folder termasuk memiliki efek yang sama tanpa kerugian yang disebutkan di atas.

Paul
sumber
8
@domanokz Ya, nanti aman digunakan. Ini akan diperlakukan sebagai php hanya jika digunakan dalam struktur requireatau includedan di lain waktu diperlakukan sebagai teks biasa. Memperlakukannya sebagai teks di server Anda tidak akan merugikan, itu hanya menyakitkan jika kode Anda disajikan sebagai teks ke pengguna akhir).
Paul
@Paulpro Saya sudah lama bertanya-tanya tentang hal ini, terima kasih telah memperjelas ini!
RealDeal_EE'18
1
Penjelasan yang bagus. Baru saja memulai pekerjaan baru dan melihatnya berserakan di seluruh aplikasi. Saya tidak tahu itu murni konvensi. Terima kasih!
Chev
4
Mengenai server yang tidak dikonfigurasi ke file parse.inc sebagai php. Ini sebenarnya tidak perlu karena hanya bisa dibaca dari file php lain di require / include. Apakah aman? Seperti yang ditunjukkan Paulpro Anda tidak ingin kode membaca pengguna akhir yang ingin tahu, jadi Anda ingin mengkonfigurasi file agar tidak dapat diambil oleh pengguna akhir dengan sesuatu seperti "RedirectMatch 403 /.*\.inc$" di conf Apache atau. htaccess
ClearCrescendo
Catatan: Ini tidak hanya untuk .phpdan .inc. PHP termasuk juga bekerja dengan jenis file lainnya. Menyertakan, '.html', '.js', '.css', '.txt' atau ekstensi file kustom apa pun yang dapat Anda pikirkan juga akan membuat parsing PHP membaca kode PHP darinya. Berguna ketika Anda ingin membuat database berbasis file dan ingin mengetahui apakah itu file database. suka .data. Anda kemudian dapat menggunakan komentar @ ClearCrescendo di atas untuk mengamankannya.
Jomar Sevillejo
71

Jika Anda khawatir tentang konten file yang disajikan, bukan outputnya. Anda dapat menggunakan ekstensi ganda seperti: file.inc.php. Ini kemudian melayani tujuan yang sama yaitu membantu dan memelihara.

Saya biasanya memiliki 2 file php untuk setiap halaman di situs saya:

  1. Satu nama welcome.phpdi folder root, berisi semua markup HTML.
  2. Dan nama lain welcome.inc.phpdi incfolder, berisi semua fungsi PHP khusus untuk welcome.phphalaman tersebut.

EDIT: Manfaat lain menggunakan ekstensi ganda .inc.phpadalah bahwa setiap IDE masih dapat mengenali file tersebut sebagai kode PHP.

Wasted_Coder
sumber
4
+1 Perlu disebutkan, saya melakukannya di salah satu proyek saya.
dpp
18

Umumnya berarti bahwa itu adalah file yang perlu disertakan dan tidak membuat skrip mandiri itu sendiri.

Ini adalah konvensi, bukan teknik pemrograman.

Meskipun jika server web Anda tidak dikonfigurasi dengan benar, itu dapat mengekspos file dengan ekstensi seperti .inc.

Devraj
sumber
12

Ini hanyalah cara bagi pengembang untuk dapat dengan mudah mengidentifikasi file yang dimaksudkan untuk digunakan sebagai penyertaan. Ini konvensi yang populer. Itu tidak memiliki arti khusus untuk PHP, dan tidak akan mengubah perilaku PHP atau skrip itu sendiri.

karim79.dll
sumber
4

Ini adalah konvensi yang biasanya digunakan programmer untuk mengidentifikasi nama file yang berbeda untuk file yang disertakan. Sehingga jika pengembang lain sedang mengerjakan kodenya, dia dapat dengan mudah mengidentifikasi mengapa file ini ada dan apa tujuan file ini hanya dengan melihat nama file tersebut.

Awais Qarni
sumber
3

Hanya untuk menambahkan. Kerugian lainnya adalah, file .inc tidak dikenali oleh IDE, sehingga Anda tidak dapat memanfaatkan fitur pelengkapan otomatis atau prediksi kode.

dpp
sumber
2

Menurut pendapat saya, ini digunakan sebagai cara untuk menemukan file penyertaan dengan cepat saat mengembangkan. Sungguh ini telah dibuat usang dengan konvensi dan desain kerangka.

Robert Ross
sumber
Ini adalah komentar yang tidak berarti. Saya selalu menggunakan .inc untuk memasukkan file karena mudah dan tidak ada negatif, dan hanya positif. Istilah 'konvensi' tidak memiliki rujukan yang saya ketahui dalam konteks ini. Dan kerangka kerja PHP, tidak tahu, tidak pernah menyentuhnya sendiri, saya menulis kode, jadi gagasan bahwa 'kerangka kerja' telah menggantikan pengkodean PHP adalah salah. Tidak ada yang salah dengan menggunakan barang-barang jika Anda suka, tetapi percaya bahwa itu menggantikan pemrograman standar, di editor kode, itu salah.
Lizardx