php fail mengandungi fungsi
Dalam pembangunan sebenar, selalunya perlu meletakkan kod biasa dalam program ke dalam fail, dan fail yang menggunakan kod ini hanya perlu memasukkan fail ini. Kaedah ini membantu meningkatkan kebolehgunaan semula kod dan membawa kemudahan yang hebat kepada penulisan dan penyelenggaraan kod. Dalam PHP, terdapat empat kaedah: memerlukan, memerlukan_sekali, sertakan, dan sertakan-sekali untuk memasukkan fail.
Mari kita bandingkan perbezaan mereka:
函數(shù) | 包含失敗 | 特點(diǎn) |
---|---|---|
Inlcude | 返回一條警告 | 文件繼續(xù)向下執(zhí)行。通常用于動(dòng)態(tài)包含 |
Require | 一個(gè)致命的錯(cuò) | 代碼就不會(huì)繼續(xù)向下執(zhí)行。通常包含極為重要的文件,整個(gè)代碼甭想執(zhí)行 |
Include_once | 返回一條警告 | 除了原有include的功能以外,它還會(huì)做once檢測(cè),如果文件曾經(jīng)已經(jīng)被被包含過,不再包含 |
Require_once | 一個(gè)致命的錯(cuò) | 除了原的功能一外,會(huì)做一次once檢測(cè),防止文件反復(fù)被包含 |
Nota:
1. Gunakan _sekali dengan lebih sedikit, kerana ia akan menggunakan lebih banyak sumber untuk melakukan kerja pengesanan.
2, Extra Advanced
Sertakan fail hanya perlu dikompilasi sekali, kerana setiap kali disertakan, kod yang sepadan akan dilaksanakan semula .
Mari kita lakukan beberapa eksperimen:
1.
Buat fail functions.php dan tulis dua fungsi di dalamnya:
<?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?>
Dalam direktori yang sama seperti functions.php, saya mencipta fail user.php dan menambah fail functions.php yang disertakan . Dengan cara ini, fungsi saya boleh diletakkan secara khusus dalam functions.php Apabila fungsi ini diperlukan, saya akan memasukkannya dari sana:
<?php //user.php include 'functions.php'; //可以直接調(diào)用 demo(); test(); ?>
Saya tahu fungsi include melalui contoh di atas. Seterusnya, kami membandingkan sertakan dan memerlukan:
Dalam kod, kami mula-mula menggunakan include untuk memasukkan fail test.php yang tidak wujud,
<?php //user.php include 'functions.php'; include 'test.php'; //可以直接調(diào)用 demo(); test(); ?>
dan kemudian gunakan require untuk memasukkan yang tidak wujud. fail test.php:
<?php //user.php include 'functions.php'; require 'test.php'; //可以直接調(diào)用 demo(); test(); ?>
Melalui perbandingan contoh di atas, kami mendapati:
Jika fail test.php tidak wujud, masukkan akan mengeluarkan amaran dan terus melaksanakan demo () dan fungsi test().
Dan memerlukan laporan terus ralat, dan fungsi demo() dan test() tidak boleh terus dilaksanakan.
Kami tahu daripada jadual: Perbezaan antara include dan include_once adalah untuk mengesan sama ada ia disertakan berulang kali. Jika include_once disertakan berulang kali, fail yang sepadan tidak akan disertakan lagi, manakala include tidak mengambil berat tentang perkara ini. Sama ada fail telah diimport atau tidak, import semula.
Mari cuba pengguna yang sama.php yang baru kami lakukan sekali lagi Kami menyertakan functions.php dua kali, masing-masing menggunakan include dan include_once:
<?php //user.php //這兒被包含了兩次同樣的函數(shù)定義文件喲 include 'functions.php'; include 'functions.php'; //可以直接調(diào)用 demo(); test(); ?>
Tukarnya kepada include_once dan cuba lagi:
<. ??><?php<?php //user.php //這兒被包含了兩次同樣的函數(shù)定義文件喲 include_once 'functions.php'; include_once 'functions.php'; //可以直接調(diào)用 demo(); test(); ?>Selepas anda melaksanakannya secara berasingan, anda akan mendapati bahawa - sertakan disertakan melaporkan ralat berikut apabila memperkenalkan functions.php dua kali kali ini: