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:

函数包含失败特点
Inlcude返回一条警告文件继续向下执行。通常用于动态包含
Require一个致命的错代码就不会继续向下执行。通常包含极为重要的文件,整个代码甭想执行
Include_once返回一条警告除了原有include的功能以外,它还会做once检测,如果文件曾经已经被被包含过,不再包含
Require_once一个致命的错除了原的功能一外,会做一次once检测,防止文件反复被包含

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';

//可以直接调用
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';

//可以直接调用
demo();

test();

?>

dan kemudian gunakan require untuk memasukkan yang tidak wujud. fail test.php:

<?php

//user.php

include 'functions.php';
require 'test.php';

//可以直接调用
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

//这儿被包含了两次同样的函数定义文件哟
include 'functions.php';
include 'functions.php';

//可以直接调用
demo();

test();

?>

Tukarnya kepada include_once dan cuba lagi:

<. 🎜><?php


<?php
//user.php

//这儿被包含了两次同样的函数定义文件哟
include_once 'functions.php';
include_once 'functions.php';

//可以直接调用
demo();

test();

?>

Selepas anda melaksanakannya secara berasingan, anda akan mendapati bahawa - sertakan disertakan melaporkan ralat berikut apabila memperkenalkan functions.php dua kali kali ini:

QQ截图20161114112303.png

Gesaan dalam gambar di atas ialah demo fungsi() tidak boleh ditakrifkan semula.

Seperti yang kami nyatakan dalam bab definisi fungsi, fungsi tidak boleh ditakrifkan dua kali, jika tidak, ralat akan dilaporkan. Kerana kami memasukkan functions.php dua kali, ia telah dilaksanakan dua kali, jadi ralat ini dilaporkan.

Sebab mengapa include_once tidak melaporkan ralat adalah kerana ia mengesan bahawa functions.php telah disertakan sebelum ini dan tidak lagi menyertakannya.

Bagi fungsi memerlukan dan memerlukan_sekali, bolehkah anda menggunakan otak kecil anda yang paling bijak untuk menyimpulkannya? require_once mempunyai dua ciri:

1. Fail yang disertakan mesti wujud, jika tidak, pelaksanaan akan berhenti

2. Semakan kemasukan berulang akan dilakukan

QQ图片20161114112544.gif

Meneruskan pembelajaran
||
<?php //user.php //这儿被包含了两次同样的函数定义文件哟 include_once 'functions.php'; include_once 'functions.php'; //可以直接调用 demo(); test(); ?>
  • Cadangan kursus
  • Muat turun perisian kursus