Php memerlukan sekali penerangan. Mana yang lebih baik untuk digunakan: memerlukan atau sertakan? Bagaimanakah include() berbeza daripada require()

Jika fungsi diletakkan dalam fail berasingan, maka dua pernyataan, memerlukan dan sertakan, membolehkan anda menyambungkannya. Penyata mempunyai format berikut:
memerlukan(<Имя файла>);
memerlukan<Имя файла>;
termasuk(<Имя файла>);
termasuk<Имя файла>;
Mari alihkan fungsi f_Sum() ke dalam fail berasingan ( Penyenaraian 17) dan sambungkannya menggunakan operator yang diperlukan ( Penyenaraian 16).

Penyenaraian 16. Menggunakan pernyataan memerlukan

Penyenaraian 17. Kandungan fail script.inc

Anda boleh mencipta fail script.inc, contohnya, menggunakan Notepad++. Perlu diingatkan bahawa fail yang disertakan boleh mempunyai sebarang sambungan, walaupun adalah perkara biasa untuk memberikan fail yang disertakan sebagai sambungan inc (untuk "termasuk").
Mari cuba buka fail script.inc menggunakan pelayar Web. Akibatnya, kod sumber akan dipaparkan dalam tetingkap penyemak imbas Web:

Atas sebab ini, anda mesti meletakkan fail sertakan dalam direktori yang hanya boleh diakses oleh skrip tetapi tidak boleh diakses melalui Internet. Semasa memasang dan mengkonfigurasi PHP, kami menentukan lokasi fail yang disertakan dalam arahan include_path bagi fail php.ini:

include_path = ".;C:\php5\includes"

Di sini, dipisahkan oleh koma bertitik, terdapat dua tempat untuk dicari termasuk fail:
□ . (titik) - dalam folder yang sama dengan fail boleh laku;
C:\php5\includes - dalam folder includes (c:\php5\includes).
Dalam erti kata lain, jika ia tidak menemui fail sertakan dalam folder yang sama dengan fail boleh laku, jurubahasa akan mencari dalam folder termasuk (c:\php5\includes).
Anda juga boleh menyimpan fail sertakan dengan sambungan php. Dalam kes ini, kod sumber tidak akan dipaparkan dalam tetingkap penyemak imbas Web.

Jika fail yang disertakan mengandungi kod boleh laku, maka deskriptor PHP mesti dinyatakan. Jika tidak, kod PHP akan dipaparkan sebagai teks biasa, dan apabila memanggil fungsi yang ditakrifkan di dalamnya, mesej ralat akan dipaparkan:
fungsi f_Sum($x, $y=2) ( return ($x + $y); )
Ralat maut: Panggilan ke fungsi tidak ditentukan f_Sum() dalam
C:\Apache2\htdocs\index.php pada baris 9
Dengan kata lain, fail yang disertakan mungkin tidak mengandungi kod PHP. Sebagai contoh, mari letakkan pengepala dan fungsi f_Sum() dalam fail header.inc ( Penyenaraian 19), dan pengaki kepada fail footer.inc ( penyenaraian 20). Kemudian kami akan menyambungkan fail ini ke skrip utama ( penyenaraian 18).

Penyenaraian 18. Meletakkan kod HTML dalam fail sertakan

Penyenaraian 19. Kandungan fail header.inc

Fungsi

Penyenaraian 20. Kandungan fail footer.inc



DALAM penyenaraian 21 Kod HTML sumber ditunjukkan selepas melaksanakan program sebelumnya.

Penyenaraian 21. Kod Sumber HTML

Fungsi 7

Dengan cara ini anda boleh membuat templat untuk banyak halaman. Jurubahasa, apabila menemui kenyataan memerlukan, akan menjadikan kandungan fail sertakan sebahagian daripada halaman. Jika fail tidak boleh dimuatkan, penyata menjana ralat yang tidak boleh dipulihkan dan skrip ditamatkan.
Daripada pernyataan memerlukan, anda boleh menggunakan pernyataan sertakan. Jika fail sertakan tidak ditemui, penyata akan memaparkan mesej ralat, tetapi skrip akan terus dilaksanakan. Jika fail ini mengandungi fungsi, maka setiap panggilan fungsi daripada fail ini juga akan menjana ralat.

Pernyataan include mengembalikan benar jika fail dimuatkan dan palsu jika terdapat ralat. Anda boleh menyekat mesej ralat menggunakan operator @ ( Penyenaraian 22).

Penyenaraian 22. Menyekat Mesej Ralat

29 balasan

Terdapat juga memerlukan dan sertakan_sekali .

Jadi soalan anda sepatutnya...

  1. Bilakah saya harus menggunakan memerlukan dan sertakan?
  2. Bilakah saya harus menggunakan require_once vs require

Fungsi require() adalah sama dengan include() kecuali ia mengendalikan ralat secara berbeza. Jika ralat berlaku, fungsi include() menjana amaran, tetapi skrip akan terus dilaksanakan. Require() menjana ralat maut dan skrip berhenti.

Pernyataan require_once() adalah sama dengan require(), kecuali PHP akan menyemak sama ada fail telah disertakan dan, jika ya, tidak akan memasukkan (memerlukan) lagi.

Cadangan saya ialah gunakan require_once 99.9% sahaja.

Menggunakan memerlukan atau sertakan sebaliknya membayangkan bahawa kod anda tidak boleh digunakan semula di tempat lain, iaitu skrip yang sebenarnya anda taip laksanakan, bukannya menyediakan kelas atau beberapa perpustakaan fungsi,

Jika anda memerlukan/termasuk kod yang dijalankan, ini adalah kod prosedur dan anda perlukan belajar paradigma baru. Sama seperti pengaturcaraan berorientasikan objek, pengaturcaraan berfungsi atau pengaturcaraan berfungsi.

Jika anda sudah melakukan OO atau pengaturcaraan berfungsi, penggunaan include_once kebanyakannya akan ditangguhkan apabila anda menemui pepijat/pepijat pada timbunan. Anda ingin tahu bahawa fungsi do_cool_stuff() tidak tersedia apabila anda pergi untuk memanggilnya kemudian, atau pada saat anda menjangkakan ia tersedia, memerlukan perpustakaan? Secara amnya, lebih baik untuk mengetahui terlebih dahulu jika sesuatu yang anda perlukan dan perkara yang diharapkan tidak tersedia, jadi gunakan sahaja require_once .

Sebagai alternatif, dalam OOP moden, automuat kelas anda apabila digunakan.

Perbezaan antara fungsi _once dan fungsi _once: Tanpa kod _once akan didayakan semula, manakala dengan fungsi _once PHP menjejaki fail yang disertakan dan hanya akan mendayakannya sekali.

Perbezaan antara memerlukan dan termasuk: Jika fail yang diperlukan tidak ditemui, PHP akan menghasilkan ralat maut, manakala sertakan hanya akan menghasilkan amaran.

include() akan mengeluarkan amaran jika ia tidak boleh memasukkan fail, tetapi skrip yang lain akan dijalankan.

require() akan membuang E_COMPILE_ERROR dan menghentikan skrip jika ia tidak boleh memasukkan fail.

Fungsi include_once() dan require_once() tidak akan menyertakan fail untuk kali kedua jika ia telah disertakan.

Lihat halaman dokumentasi berikut:

Setiap kali anda menggunakan require_once() , anda boleh menggunakannya pada fail untuk memasukkan fail lain jika anda memerlukan fail yang baru anda nyatakan dalam fail semasa. Di sini dalam contoh saya mempunyai test1.php.

dan dalam fail lain yang saya panggil test2.php

apabila anda melihat m, memerlukan fail test1 dua kali, tetapi fail akan termasuk test1 sekali dan untuk memanggil kali kedua ia akan diabaikan. Dan tanpa henti ia akan memaparkan output sekali.

Setiap kali anda menggunakan "include_once()` ia boleh digunakan dalam fail untuk memasukkan fail lain jika anda memerlukan fail yang dipanggil lebih daripada sekali dalam fail semasa. Di sini dalam contoh saya mempunyai fail yang dipanggil test3.php.

Dan dalam fail lain yang saya panggil test4.php

kerana anda sedang melihat m termasuk fail test3 akan memasukkan fail sekali tetapi menghentikan pelaksanaan selanjutnya.

Perbezaannya ialah ralat yang dihasilkan oleh arahan. Dengan memerlukan ia sebenarnya memerlukan fail yang anda ingin gunakan dan dengan itu menjana E_ERROR jika ia tidak dijumpai.

require() adalah sama dengan include() kecuali kegagalan juga akan mengakibatkan tahap ralat maut E_ERROR .

include menjana ralat E_WARNING jika ia gagal, yang lebih kurang senyap.

Jadi gunakannya jika fail diperlukan untuk kod yang selebihnya dijalankan dan anda mahu skrip gagal dengan fail tidak tersedia.

Untuk sekali() :

include_once() boleh digunakan dalam kes di mana fail yang sama mungkin disertakan dan dinilai lebih daripada sekali semasa pelaksanaan skrip tertentu, jadi dalam kes ini, ia boleh membantu mengelakkan masalah seperti mengatasi fungsi, mengatasi nilai berubah, dll. d.

Perkara yang sama berlaku untuk require_once() , sudah tentu.

Soalan ini telah ditanya tujuh tahun lalu dan tidak ada jawapan yang memberikan sebarang bantuan praktikal mengenai perkara itu. Dalam pengaturcaraan PHP moden, anda pada asasnya menggunakan required_once sekali sahaja untuk mendayakan pemuat auto anda (selalunya pemuat automatik komposer) dan ia akan memuatkan semua kelas dan fungsi anda (fail fungsi mesti ditambah secara eksplisit pada composer.json untuk tersedia dalam semua fail lain). Jika atas sebab tertentu kelas anda tidak dimuatkan daripada autoloader, anda menggunakan require_once untuk memuatkannya.

Hari ini anda hanya perlu membahagikan sebahagian besar fail PHP. Ini pada asasnya takrifan tatasusunan yang besar. Dalam kes sedemikian, anda hanya menggunakan require require_once .

"y"];

Jika fail yang anda akan gunakan mengandungi sesuatu yang boleh laku atau mengisytiharkan beberapa pembolehubah, anda hampir selalu perlu menggunakan require , kerana jika anda menggunakan require_once di tempat lain kod anda tidak akan dilaksanakan dan/atau pembolehubah anda tidak akan menyala secara senyap, menyebabkan ralat yang sukar dikenal pasti.

Amalan sertakan dan sertakan_sekali secara praktikalnya tidak digunakan.

Anda harus menyimpan definisi kelas dan fungsi dalam fail.

Gunakan require_once() untuk memuatkan kebergantungan

Gunakan require() untuk memuatkan fail seperti templat.

Gunakan include_once() untuk memuatkan kebergantungan pilihan(kelas, fungsi, pemalar).

Gunakan include() untuk memuatkan fail seperti templat pilihan.

diperlukan akan mengakibatkan ralat maut (E_COMPILE_ERROR) dan menghentikan skrip.

hidupkan akan mengeluarkan amaran (E_WARNING) dan skrip akan diteruskan.

Operator memerlukan_sekali boleh digunakan untuk memasukkan fail PHP dalam fail lain apabila anda mungkin perlu memasukkan fail yang dipanggil lebih daripada sekali.

Jika a.php ialah skrip PHP yang memanggil b.php dengan require_once(), dan tidak menjumpai b.php, a.php berhenti melaksanakan, menyebabkan ralat maut.

sertakan()

Ia mengandungi fail yang ditentukan. Ia akan mengeluarkan amaran jika ia tidak dapat mencari fail dan melaksanakan skrip yang tinggal

diperlukan()

Ia mengandungi fail yang ditentukan. Ini akan menimbulkan ralat maut jika ia tidak dapat mencari fail dan akan berhenti melaksanakan

Ia mengandungi fail yang ditentukan. fail sudah disertakan, ia tidak akan disertakan lagi. Ia mengeluarkan amaran jika ia tidak dapat mencari fail dan menjalankan skrip yang lain.

Ia mengandungi fail yang ditentukan. fail sudah disertakan, ia tidak akan disertakan lagi. Ini akan menimbulkan ralat maut jika ia tidak dapat mencari fail dan akan berhenti melaksanakan.

Sama dengan memasukkan/memerlukan, kecuali PHP menyemak untuk melihat sama ada fail telah disertakan, dan jika ya, jangan masukkannya (diperlukan) sekali lagi.

Dalam era pemuat auto PSR-0/PSR-4, mungkin tidak diperlukan sama sekali untuk menggunakan sebarang pernyataan jika anda hanya perlu menyediakan beberapa fungsi/kelas untuk kod anda (sudah tentu anda masih perlu menggunakan require_once dalam bootstrap fail anda. dan sertakan templat jika anda masih menggunakan PHP sebagai enjin templat anda).

require() adalah sama dengan include() kecuali kegagalan juga akan mengakibatkan tahap ralat maut E_COMPILE_ERROR . Dalam erti kata lain, ia akan menghentikan skrip, manakala include() hanya mengeluarkan amaran (E_WARNING) yang membolehkan skrip diteruskan.

Perkara yang sama berlaku untuk pilihan _once().

Saya menggunakan fungsi seperti di bawah:

Fungsi doSomething() ( require_once(xyz.php); .... )

Nilai malar telah ditetapkan dalam xyz.php.

Saya perlu memanggil fungsi doSomething() ini daripada fail skrip PHP yang lain.

Tetapi saya memerhatikan tingkah laku apabila memanggil fungsi ini dalam gelung, untuk lelaran pertama doSomething() mendapat nilai malar di dalam xyz.php tetapi kemudiannya setiap lelaran doSomething() tidak dapat mendapatkan nilai malar yang diisytiharkan dalam xyz. php .

Saya menyelesaikan masalah saya dengan beralih daripada require_once() kepada include() , kod doSomething() yang dikemas kini kelihatan seperti ini:

Fungsi doSomething() ( include(xyz.php); .... )

Kini setiap panggilan berulang ke doSomething() menerima pemalar yang ditakrifkan dalam xyz.php .

Bilakah anda harus menggunakan memerlukan atau memasukkan?

Fungsi memerlukan dan sertakan melaksanakan tugas yang sama, iaitu, memasukkan dan menilai fail yang ditentukan, tetapi perbezaan yang diperlukan akan mengakibatkan ralat maut jika lokasi fail yang ditentukan tidak sah atau untuk sebarang ralat, manakala sertakan akan menjana amaran dan meneruskan melaksanakan kod tersebut.

Jadi anda boleh menggunakan fungsi memerlukan sekiranya fail yang anda cuba sertakan adalah jantung sistem dan boleh memberi impak yang besar pada kod yang lain, dan anda mungkin mahu menggunakan fungsi sertakan apabila fail yang anda cuba masukkan ialah fail ringkas yang mengandungi kod yang kurang penting.

Dan cadangan peribadi saya (untuk kod yang kurang penting) ialah menggunakan fungsi memerlukan di mana-mana dalam kod anda semasa ia dalam pembangunan, supaya anda boleh nyahpepijat kod itu, dan kemudian menggantikan semua fungsi yang diperlukan dengan sertakan sebelum memindahkannya ke dalam pengeluaran supaya jika anda terlepas sebarang ralat ia tidak akan memberi kesan kepada pengguna akhir dan kod yang selebihnya akan dilaksanakan dengan betul...

Bilakah anda harus menggunakan require_once atau memerlukan ?

Perbezaan utama antara require dan require_once ialah require_once akan menyemak sama ada fail disertakan atau tidak, jika ia sudah disertakan maka ia tidak akan menyertakan fail manakala fungsi require akan menyertakan fail sama ada fail tersebut disertakan atau tidak.

Jadi, dalam kes di mana anda ingin menambah sekeping kod lagi dan lagi, gunakan fungsi memerlukan, manakala jika anda ingin memasukkan beberapa kod sekali sahaja dalam kod anda, gunakan require_once.

Ini adalah semua cara untuk memasukkan fail.

Untuk memerlukan bermakna ia diperlukan. Require_once bermakna ia akan diperlukan, tetapi hanya diperlukan sekali. Sertakan bermakna ia akan memasukkan fail, tetapi ia tidak diperlukan untuk meneruskan.

Memerlukan "nama fail" Require_once "nama fail" Sertakan "nama fail"

Terdapat juga fungsi include_once, yang merangkumi fail sekali.

Sertakan_sekali "nama fail"

Jangan gunakan huruf besar tempat saya menulis di telefon saya.

Pada asasnya, jika anda mahu laluan yang salah, PHP melemparkan ralat maut dan fungsi penutupan dipanggil, tetapi apabila anda menghidupkan laluan yang salah, PHP akan terus melaksanakan, tetapi ia hanya akan menunjukkan amaran bahawa fail itu tidak wujud.

Daripada perkataan Inggeris yang diperlukan, PHP mengatakan bahawa pelaksanaan halaman atau fail bergantung pada fail yang diperlukan.

Dalam pengalaman saya, ini adalah kebiasaan, memerlukan fail penting seperti fail konfigurasi, kelas pangkalan data dan utiliti penting lain.

Apabila membangunkan mana-mana tapak web dan sebarang kerumitan, anda mesti terlebih dahulu menumpukan pada ketepatan kod. Sebagai contoh, jika anda mencipta semua kod dengan banyak fail pada satu halaman, ia akan membawa kepada kekeliruan dan kesulitan yang besar. Dan untuk melakukan ini, anda perlu menyusun fail ke dalam kategori, dan kemudian menyambungkannya ke kod utama di tempat yang betul. Kaedah ini boleh dipanggil fail disertakan. Ini adalah nama yang agak mudah, tetapi bagi seseorang yang pertama kali menemui topik ini, ia boleh dipanggil begitu. Dan untuk dapat mengumpulkan semua fail yang disertakan ke dalam satu kod, anda perlu menggunakan perkara yang diterangkan dalam artikel sebelumnya, atau menggunakan arahan memerlukan dan memerlukan_sekali yang diterangkan dalam teks ini.

Arahan praktikal memerlukan dan memerlukan_sekali melaksanakan fungsi yang sama seperti arahan sertakan dan sertakan_sekali, kecuali beberapa mata.

Sintaks untuk arahan ini ialah:

Memerlukan_sekali 'config.php'; - fail tetapan
memerlukan_sekali 'header.php'; - pengepala tapak
memerlukan 'left.php'; - bar sisi kiri
memerlukan 'content.php'; — kandungan tapak
memerlukan 'footer.php'; - pengaki tapak

Dan perbezaannya adalah ini. Apabila memproses kod, PHP mula-mula menukar skrip menjadi perwakilan dalaman, selepas itu ia mula memproses kod baris demi baris. Dan jika PHP menjumpai fail dalam kod yang disertakan dengan arahan termasuk, kemudian selepas memuatkan fail, ia beralih sepenuhnya kepada pelaksanaannya, menukar fail menjadi perwakilan dalaman, dan hanya kemudian melaksanakannya langkah demi langkah...

Berikut adalah arahannya memerlukan berfungsi sedikit berbeza. Fail yang disambungkan dengan bantuannya diterjemahkan sebelum skrip dilaksanakan, dengan kata lain, pada masa memproses semua kod, fail ini telah pun diterjemahkan!!! Dan oleh itu kesimpulannya - fail yang disambungkan dengan arahan memerlukan- akan bekerja lebih cepat. Dan bagi saya, sebagai contoh, arahan ini adalah lebih baik. Tetapi sudah tentu, ada satu TETAPI! Apabila penyemak imbas memuatkan halaman, Internet mungkin ranap dan pengguna hanya dapat melihat bahagian halaman yang telah dimuatkan. Atau jika terdapat beberapa jenis kegagalan pemprosesan, pemprosesan tidak akan diteruskan melebihi fail beku. Tetapi ini jarang berlaku di tapak web, jadi arahan ini masih lebih baik.

Saya hampir terlupa. Arahan memerlukan_sekali- juga berperanan memasukkan fail dalam kod keseluruhan sekali sahaja, supaya tiada pengulangan.

Itu hampir semua yang anda perlu tahu tentang cara menyambungkan fail ke aliran penulisan kod umum. Pengetahuan yang lebih mendalam biasanya datang melalui proses pembelajaran dan bergantung kepada keperluan, yang secara semula jadi saya tidak dapat meramalkan. Terima kasih atas perhatian anda dan maaf atas pembentangan penulis mengenai topik ini.

Julai 2019
isn W Rabu Kha Jum Sab matahari
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

MENGIKLANKAN

    Pernyataan sertakan dalam PHP, penyataan include_once dalam php, termasuk fail. Apabila membangunkan laman web dinamik yang mudah, atau program yang lebih maju, adalah mustahil

    Struktur enjin tapak, enjin tapak terdiri daripada, panel kawalan tapak, enjin templat. Dalam artikel sebelum ini telah diterangkan bahawa

    Apa itu enjin laman web, cara membuat enjin laman web, sistem pengurusan laman web dalam PHP. Untuk memahami apa itu

Pembinaan memerlukan kemasukan

Reka bentuk memerlukan membolehkan anda memasukkan fail dalam skrip PHP untuk menjalankan skrip PHP. Sintaks umum memerlukan seperti:

memerlukan nama fail;

Apabila memulakan (tepat pada permulaan, bukan semasa pelaksanaan!) program, jurubahasa hanya akan menggantikan arahan dengan kandungan fail_name (fail ini juga mungkin mengandungi skrip PHP, dibingkai, seperti biasa, dengan tag Dan ?> ). Selain itu, ia akan melakukan ini dengan segera sebelum memulakan program (tidak seperti termasuk, yang dibincangkan di bawah). Ini agak mudah untuk memasukkan pelbagai halaman templat dengan kod HTML dalam output skrip. Berikut ialah contoh:

Fail Header.html:

Ia adalah tajuk

Fail Footer.html:
Syarikat Rumah, 2005.

Fail skrip.php
memerlukan "header.htm";
// Skrip memaparkan badan dokumen itu sendiri
memerlukan "footer.htm";
?>

Jadi reka bentuk memerlukan membolehkan anda untuk memasang skrip PHP daripada beberapa fail berasingan, yang boleh menjadi seperti html-muka surat dan php-skrip.

Reka bentuk memerlukan menyokong kemasukan fail jauh (sejak PHP 4.3.0). Sebagai contoh:

// Contoh berikut tidak berfungsi kerana ia cuba memasukkan fail setempat
memerlukan "file.php?foo=1&bar=2" ;
// Contoh berikut berfungsi
memerlukan ;
?>

! Reka bentuk memerlukan membolehkan anda memasukkan fail jauh jika ciri ini didayakan dalam fail konfigurasi PHP.

Termasuk fail jauh

PHP membolehkan anda bekerja dengan objek URL seperti fail biasa. Pembungkus, tersedia secara lalai, digunakan untuk bekerja dengan fail jauh menggunakan protokol ftp atau http.

Jika "URL pembalut fopen" disertakan dalam PHP (seperti dalam konfigurasi lalai), anda boleh menentukan fail untuk disertakan menggunakan URL (melalui HTTP) dan bukannya laluan setempat. Jika pelayan sasaran mentafsirkan fail sasaran sebagai kod PHP, pembolehubah boleh dihantar ke fail termasuk menggunakan rentetan pertanyaan URL, seperti dalam HTTP GET. Tegasnya, ini tidak sama dengan memasukkan fail dan mewarisi skop pembolehubah fail induk; lagipun, skrip berjalan pada pelayan jauh, dan hasilnya kemudiannya dimasukkan ke dalam skrip tempatan.

Untuk membolehkan kemasukan jauh fail tersedia, anda perlu menetapkan dalam fail konfigurasi (php.ini) allow_url_fopen=1.

Nota: Versi PHP untuk Windows sebelum PHP 4.3.0 tidak menyokong keupayaan untuk menggunakan fail jauh dengan ciri ini, walaupun jika pilihan allow_url_fopen didayakan.


/* Ini menganggap bahawa www.example.com dikonfigurasikan untuk menghuraikan.php
* fail, bukan fail .txt. Juga "Berfungsi" di sini bermaksud bahawa pembolehubah
* $foo dan $bar tersedia dalam fail yang disertakan. */

//Tidak akan berfungsi kerana file.txt tidak diproses oleh www.example.com seperti PHP
memerlukan "http://www.example.com/file.txt?foo=1&bar=2";

// Tidak akan berfungsi kerana ia sedang mencari fail "file.php?foo=1&bar=2" dalam tempatan
// sistem fail.
memerlukan "file.php?foo=1&bar=2" ;

// Contoh berikut berfungsi:
memerlukan "http://www.example.com/file.php?foo=1&bar=2";

$foo = 1 ;
$bar = 2;
memerlukan "file.txt" ; // Berfungsi
memerlukan "file.php" ; // Berfungsi

?>



Pembinaan memerlukan kemasukan

Reka bentuk memerlukan membolehkan anda memasukkan fail dalam skrip PHP yang melaksanakan skrip PHP. Sintaks umum memerlukan seperti:

memerlukan nama fail;

Apabila memulakan (tepat pada permulaan, bukan semasa pelaksanaan!) program, jurubahasa hanya akan menggantikan arahan dengan kandungan fail_name (fail ini juga mungkin mengandungi skrip PHP, dibingkai, seperti biasa, dengan tag Dan ?> ). Lebih-lebih lagi, dia akan melakukan ini dengan segera sebelum memulakan program (tidak seperti, yang dibincangkan di bawah). Ini agak mudah untuk memasukkan pelbagai halaman templat dengan kod HTML dalam output skrip. Berikut ialah contoh:

Fail Header.html:

Ia adalah tajuk

Fail Footer.html:
Syarikat Rumah, 2005.

Fail skrip.php
memerlukan "header.htm";
// Skrip memaparkan badan dokumen itu sendiri
memerlukan "footer.htm";
?>

Jadi reka bentuk memerlukan membolehkan anda untuk memasang skrip PHP daripada beberapa fail berasingan, yang boleh menjadi seperti html-muka surat dan php-skrip.

Reka bentuk memerlukan menyokong kemasukan fail jauh (sejak PHP 4.3.0). Sebagai contoh:

// Contoh berikut tidak berfungsi kerana ia cuba memasukkan fail setempat
memerlukan "file.php?foo=1&bar=2" ;
// Contoh berikut berfungsi
memerlukan ;
?>

! Reka bentuk memerlukan membolehkan anda memasukkan fail jauh jika ciri ini didayakan dalam fail konfigurasi PHP. Maklumat terperinci .

Termasuk fail jauh

PHP membolehkan anda bekerja dengan objek URL seperti fail biasa. Pembungkus, tersedia secara lalai, digunakan untuk bekerja dengan fail jauh menggunakan protokol ftp atau http.

Jika "URL pembalut fopen" disertakan dalam PHP (seperti dalam konfigurasi lalai), anda boleh menentukan fail untuk disertakan menggunakan URL (melalui HTTP) dan bukannya laluan setempat. Jika pelayan sasaran mentafsirkan fail sasaran sebagai kod PHP, pembolehubah boleh dihantar ke fail termasuk menggunakan rentetan pertanyaan URL, seperti dalam HTTP GET. Tegasnya, ini tidak sama dengan memasukkan fail dan mewarisi skop pembolehubah fail induk; lagipun, skrip berjalan pada pelayan jauh, dan hasilnya kemudiannya dimasukkan ke dalam skrip tempatan.

Untuk membolehkan kemasukan jauh fail tersedia, anda perlu menetapkan dalam fail konfigurasi (php.ini) allow_url_fopen=1.

Nota: Versi PHP untuk Windows sebelum PHP 4.3.0 tidak menyokong keupayaan untuk menggunakan fail jauh dengan ciri ini, walaupun jika pilihan allow_url_fopen didayakan.


/* Ini menganggap bahawa www.example.com dikonfigurasikan untuk menghuraikan.php
* fail, bukan fail .txt. Juga "Berfungsi" di sini bermaksud bahawa pembolehubah
* $foo dan $bar tersedia dalam fail yang disertakan. */

//Tidak akan berfungsi kerana file.txt tidak diproses oleh www.example.com seperti PHP
termasuk "http://www.example.com/file.txt?foo=1&bar=2";

// Tidak akan berfungsi kerana ia sedang mencari fail "file.php?foo=1&bar=2" dalam tempatan
// sistem fail.
sertakan "file.php?foo=1&bar=2" ;

// Contoh berikut berfungsi:
termasuk "http://www.example.com/file.php?foo=1&bar=2";

$foo = 1 ;
$bar = 2;
sertakan "file.txt" ; // Berfungsi
sertakan "file.php" ; // Berfungsi

?>