在PHP編程中,經常會通過require、require_once來引用另一個文件,都可以達到引用文件的目的,但他們之間還是有一些細微的區別的,下來就來詳細的說一下。

php require 的理解

国产视频apprequire:php的內置函數,作用是引入或者包含外部的php文件

原理:當本身php文件被執行時,則外部文件的內容就將被包含進該自身的文件中;也可以理解為,外部所要引用的文件的代碼,會替換 require() 的代碼部份,并形成一個新的php文件并執行代碼。

注意:

国产视频app1、當包含的外部文件發生錯誤時,系統將拋出錯誤提示,并且停止php文件的執行。

2、require()會在每一處出現調用的地方都重新調用(加載文件)。

舉例1:

a.php

<?php 
$str = 'http://feiniaomy.com';
?>

b.php

<?php
    require 'a.php';
    echo $str;
?>

国产视频app運行b.php輸出結果:http://feiniaomy.com

舉例2:

a.php

<?php 
echo "Hello";
?>

b.php

<?php
    require 'a.php';
    require 'a.php';
?>

運行b.php結果:Hello Hello

注:運行結果,輸出了兩個 Hello,則說明 a.php的代碼被引用并執行了兩次

php require_once 的理解

国产视频apprequire_once:它的作用與 require 的作用是一樣的,都是引用或包含外部的一個php文件

原理:當含有 require_once 的php文件被執行時,則被 require_once 指定的外部文件都會包含進來,與其它的代碼組成一個新的 php 文件,并開始執行

注意:

1、當外部的被包含進來的文件有錯誤時,也會跑錯,并終止運行

2、require_once 指定的文件如果已經被包含過,則不會再次包含。它可以避免函數重定義,變量重新賦值等問題。

舉例:

a.php

<?php 
echo "Hello";
?>

b.php

<?php
    require 'a.php';
    require_once 'a.php';
?>

運行 b.php 的結果為:Hello

注:結果只輸出了一個 Hello ,說明 a.php 里面的代碼只被引用了一次。