include和require的區別
準備在乙個php的開源程式上做點二次開發,藉此機會想對php進行一下系統的學習。曾經也大概的了解過一點php,但因為工作中一直沒有用到這門語言,所以慢慢也放下了。走了這麼久的彎路才明白,專案驅動是最好的學習方式。只有當你需要用到一門語言的時候,去學習它才會有比較好的效果,而且也不容易忘記。
在二次開發之前得先了解一下原先程式的整個結構,在看原始碼的過程中發現有大量的引入語句,記得之前就對php中的include和require的區別一直很含糊,不能再用這樣的態度對學習,因此特地停下來了解一下php和include和require的聯絡和區別。
首先include和require都是引入指定的檔案。_once表示只引入一次,即之前已經引入過的不再引入。
例如1.php中有句簡單的列印echo '1
'下面的程式執行的結果:
<?php
include '1.php';
require '1.php';
include_once '1.php';
require_once '1.php';
將是
1如果將_once引入的語句放在include和require上面,結果將是 1、載入失敗的處理方式不同而不是1
include與require除了在處理引入檔案的方式不同外,最大的區別就是:
include在引入不存檔案時產生乙個警告且指令碼還會繼續執行,
require則會導致乙個致命性錯誤且指令碼停止執行。
<?php
include 'hello.php';
echo 'world';
?>
如果hello.php不存在,echo 『world』這句是可以繼續執行的。
<?php
require 'hello.php';
echo 'world';
?>
如果hello.php不存在,echo 『hello』這句是不會執行的,到require時就停止了。
2、include()是有條件包含函式,而 require()則是無條件包含函式。
if(false)
if(false)else
include()執行時需要引用的檔案每次都要進行讀取和評估,
require()執行時需要引用的檔案只處理一次(實際上執行時需要引用的檔案內容替換了require()語句)
可以看出若有包含這些指令之一的**和可能執行多次的**,則使用require()效率比較高,
若每次執行**時相讀取不同的檔案或者有通過一組檔案疊代的迴圈,就使用include(),
require通常使用方法,這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。
include通常使用方法,這個函式一般是放在流程控制的處理部分中。php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化
另外關於include和require後面是否加括號的問題,
理論上來說:include和require後面加不加括號對執行結果沒有區別,但是加上括號效率較低,所以後面能不加括號就不加括號。
require和include的區別
在php中,include和require的作用比較容易混淆。下面我以乙個經典例子來深刻說明它們的區別。當我們經常訪問乙個資料庫時,可以把連庫語句寫成乙個檔案 con db.php dbh mysql connect localhost mysql select db admreqs 在實際應用時,...
require和include的區別
require 和 include 二種方式提供不同的使用彈性。require 的使用方法如 require myrequirefile.php 這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式...
include和require的區別
require 語句的效能與include 相類似,都是包括並執行指定檔案。不同之處在於 對include 語句來說,在執行檔案時每次都要進行讀取和評估 而對於require 來說,檔案只處理一次 實際上,檔案內容替換require 語句 這就意味著如果可能執行多次的 則使用require 效率比較...