Dalam PHP, require
, include
, dan require_once
digunakan untuk memasukkan dan menilai fail yang ditentukan semasa pelaksanaan skrip. Pilihan antara pernyataan ini bergantung kepada keperluan khusus aplikasi anda. Berikut adalah penjelasan terperinci tentang bila menggunakan setiap:
Termasuk : Kenyataan include
termasuk dan menilai fail yang ditentukan. Jika fail tidak dijumpai, amaran akan dikeluarkan dan skrip akan terus pelaksanaan. Ia biasanya digunakan apabila fail tidak penting untuk skrip terus berjalan. Ini menjadikannya sesuai untuk memasukkan komponen atau templat pilihan.
<code class="php">include 'optional_file.php';</code>
Memerlukan : Pernyataan require
adalah serupa dengan include
, tetapi ia memperlakukan fail sebagai penting untuk pelaksanaan skrip. Jika fail tidak dijumpai, ralat maut akan dikeluarkan, dan pelaksanaan skrip akan berhenti. Penggunaan require
fail yang penting untuk operasi skrip anda, seperti fail konfigurasi atau perpustakaan teras.
<code class="php">require 'critical_file.php';</code>
Keperluan_once : Pernyataan require_once
adalah sama untuk require
kecuali PHP akan memeriksa sama ada fail telah dimasukkan, dan jika ya, ia tidak akan memasukkannya lagi. Ini amat berguna untuk memasukkan fail yang menentukan fungsi atau kelas yang tidak boleh ditakrifkan semula, membantu mencegah kesilapan penentuan fungsi.
<code class="php">require_once 'library_file.php';</code>
Implikasi prestasi menggunakan require_once
over over require
penting, terutamanya dalam aplikasi yang lebih besar:
require_once
mempunyai lebih banyak overhead daripada require
kerana ia perlu menyemak sama ada fail telah dimasukkan sebelum memasukkannya. Ini melibatkan mengekalkan senarai fail termasuk dalam ingatan, yang menggunakan lebih banyak sumber.require_once
boleh meningkatkan masa pelaksanaan kerana cek tambahan. Ini boleh menjadi sangat ketara dalam aplikasi besar dengan banyak termasuk.require_once
memerlukan memori tambahan, walaupun kesannya mungkin dapat diabaikan melainkan jika permohonan anda termasuk sejumlah besar fail.require
bukannya require_once
dapat menyimpan beberapa overhead pemprosesan. Walau bagaimanapun, jika anda tidak pasti atau penting untuk memastikan fail dimasukkan hanya sekali (untuk mengelakkan kesilapan penentuan fungsi, contohnya), require_once
harus digunakan walaupun kos prestasi. Perbezaan utama dalam pengendalian kesilapan antara include
dan require
dalam PHP adalah keterukan kesilapan dan bagaimana ia memberi kesan kepada pelaksanaan skrip:
Termasuk : Jika include
tidak dapat mencari fail yang ditentukan, PHP akan mengeluarkan amaran (e_warning) tetapi akan terus melaksanakan skrip. Ini membolehkan seluruh skrip berjalan, berpotensi dengan tingkah laku yang diubah jika fail yang disertakan adalah penting tetapi tidak kritikal.
<code class="php">include 'non_existent_file.php'; // Continues execution with a warning echo "This will still be executed.";</code>
Memerlukan : Jika require
tidak dapat mencari fail yang ditentukan, PHP akan mengeluarkan ralat maut (e_compile_error) dan menghentikan pelaksanaan skrip. Ini memastikan bahawa skrip tidak diteruskan jika fail kritikal hilang, yang boleh menjadi penting untuk mengekalkan integriti permohonan anda.
<code class="php">require 'non_existent_file.php'; // Stops execution with a fatal error echo "This will not be executed.";</code>
Menggunakan include
lebih sesuai dalam senario berikut:
Kandungan Bukan Kritikal : Apabila termasuk fail yang mengandungi kandungan yang tidak penting, seperti templat HTML atau modul ciri pilihan, include
lebih sesuai. Jika fail -fail ini hilang, permohonan itu masih boleh berfungsi dengan amaran.
<code class="php">include 'optional_template.php'; // Non-critical HTML template</code>
Kemasukan Dinamik : Apabila anda perlu memasukkan fail secara kondusif atau berdasarkan input pengguna, include
lebih disukai kerana ia membolehkan skrip diteruskan walaupun fail itu hilang.
<code class="php">if ($condition) { include 'conditional_file.php'; }</code>
include
boleh berguna untuk menguji bagaimana skrip berkelakuan apabila fail tertentu hilang, membolehkan pemaju melihat amaran dan bukannya kesilapan yang membawa maut.Pembalakan dan pemantauan : termasuk fail yang mengandungi fungsi pembalakan atau pemantauan di mana ketiadaan fail tidak boleh menghalang aplikasi utama daripada berjalan.
<code class="php">include 'logging_functions.php'; // Non-critical logging</code>
Dalam senario ini, include
membantu dalam mengekalkan fleksibiliti dan keteguhan permohonan anda dengan membenarkannya mengendalikan fail yang hilang tanpa menghentikan pelaksanaan.
Atas ialah kandungan terperinci PHP memerlukan vs termasuk vs memerlukan_once: kapan menggunakan setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!