PHP之PHP文件引用详解
HP的文件引用涉及到四個函數:
?
1.include()
2.include_once()
3.require()
4.require_once()
這四個函數常常會給PHP初學者造成困擾,總的來說困擾有這么幾個:
1.四個函數的區別
2.這四個函數的適用環境
3.使用以上函數后造成的路徑問題
下面我們就這三個典型的問題進行分析。
一、區別:
1.include_once()與require_once()在引入文件時,會檢測該文件是否在之前已經被引入過,如果已經被引入過則直接返回TRUE。如果沒有被引入過,則引入文件。而其他兩個函數不會對文件是否被重復引入做出檢測。
注意:在PHP 4中的 Windows 系統下是不區分大小寫的。也就是說下面的代碼都是引入的a.php。當然,PHP 5不會再出現這樣的情況了。
include_once "a.php"; include_once "A.php";
2.include()與inclue_once()在引入文件失敗時,只會產生警告信息,但是不會終止程序繼續向下執行。
Warning:require(wrongFile.php)[function.require]: failed to open stream:No such file or directory in C:homewebsite est.php on line 5
而其他兩個函數在文件引入失敗時,會產生致命錯誤,并終止整個程序的運行。
Fatal error:require()[function.require]:Failed opening required 'wrongFile.php'(include_path='.;C:php5pear')in C:homewebsite est.php on line 5
二、使用環境
1. 由第二條實際上我們已經可以看出他們各自的使用環境了。include()適合用來引入普通文件(例如:視圖模板),而require()適合用來引入核 心文件(例如:核心類文件)。因為前者引入的文件相對于整個程序系統來說重要性要低一些,所以就算出錯也可以繼續執行后面的程序。但是如果說一個系統或者 框架的核心文件都引入失敗的話,那么程序還有繼續運行下去的必要嗎?
2.include_once()與require_once()實際上就是在第三條基礎上對引入文件做了更嚴格的重復性檢測而已。同樣是前者一般性引入,后者重要引入。
三、路徑
至 于相對路徑問題,只要記住一個原則就可以了:加入A引入B,B同時又引入了C。那么,B中引入C的相對路徑應該以A--C的相對路徑來寫。因為,PHP的 文件引入實際上就相當于將B的代碼復制到A中,也就是說我們從頭到尾都在A中執行代碼,當然應該以A為參考來引入C了。
四、其他
1.我們還可以用include()來引用遠程PHP文件,并且先這個被引用的文件傳參,當然這有一定的先決條件。(詳見官方手冊)
include 'http://www.example.com/file.php?foo=1&bar=2';
2.注意:這幾個函數不一定非得要在后面加括號
include('a.php'); include("a.php"); include 'a.php'; include "a.php";
以上的寫法都是可以的。當然,如果后面的參數包含變量,你得斟酌一下。
OK,PHP文件引入就分析到這里。更多精彩內容敬請關注重慶PHP社區!
?
作者:Angrybird來源: 重慶PHP http://www.php-chongqing.com
原文地址: http://www.php-chongqing.com/index.php/article/15
重慶PHP原創,轉載請保留版權信息PHP之PHP文件引用詳解轉載于:https://www.cnblogs.com/zcds-jk/p/4345270.html
總結
以上是生活随笔為你收集整理的PHP之PHP文件引用详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2013年11月12号】日记
- 下一篇: CentOS 6.4 i386 版本安装