【小白筆記】PHP學習之路 (8) --代碼重用

代碼重用

include() require() 載入文件

      include() 如果載入的文件不存在,提示警告錯誤

      require() 如果載入的文件不存在,致命性錯誤,程序終止不繼續執行。

在文件存在的情況下兩者區別不大,也可以載入html文件等。

include_once() require_once() 

      也是載入文件,只載入一次文件,如果此文件載入過將不再載入

例如:

在www文件夾下新建兩個文件:21.php、21_1.php。

21_1.php的內容:

<?php
	function say($name){
		echo "你的名字是".$name;
	}
?>

21.php的內容:

<?php
	include('21_1.php');
	say('無名氏');  //結果:你的名字是無名氏
	echo '霧霾天氣壞處多';  //結果:霧霾天氣壞處多
?>

如果文件名打錯或21_1.php不存在,include時發生錯誤,那麼say()將不能執行,但是下面的語句會繼續執行。

<?php
	include('21_11.php');   //報錯,繼續運行下面的語句
	//say('無名氏');
	echo '霧霾天氣壞處多';  //結果:霧霾天氣壞處多
?>

如果改成require()的話:

<?php
	require('21_11.php');   //報錯,在此處終止腳本運行
	//say('無名氏');
	echo '霧霾天氣壞處多';  //結果:無輸出
?>

這裏的include、require載入,通俗地說,就相當於把載入文件中的代碼全部移到本文件中被載入的位置。因此執行順序自然明瞭:

21_1.php的內容:

<?php
	function say($name){
		echo "你的名字是".$name;
	}
	echo '21_1.php msg ';
?>

21.php的內容:

<?php
        include('21_1.php');
        echo '21.php msg';  //執行結果:21_1.phpmsg 21.php msg
?>

重複載入:

如果用include或require多次重複載入同一個文件,則會發生錯誤,因爲php中同一個函數不能重複定義:
	include("21_1.php");
	echo 200;
	include('21_1.php');
	echo 300;

報錯:
500200
( ! ) Fatal error: Cannot redeclare say() (previously declared in D:\wamp\www\21_1.php:2) in D:\wamp\www\21_1.php on line 4

只載入一次:

此時就可以使用include_once()、或者require_once(),如果文件已經載入過,將不再載入。
	include("21_1.php");
	echo 200;
	include_once('21_1.php');
	echo 300;

這樣自然就不會報錯了。

以上均爲個人理解,初學php,如果有不對的地方,歡迎大家指正!微笑

發佈了38 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章