程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP4用戶手冊:流程控制-require

PHP4用戶手冊:流程控制-require

編輯:關於PHP編程

TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width="100%">
require()
require() 語句用它指定的文件代替它自己,這很像C中的預處理#include 的功能。
如果在PHP中"URL fopen wrappers"項是打開的(這是默認的配置),你可以在require()中使用URL代替本地路徑。更多的信息參見Remote files和fopen()。
一個重要的提示是:當一個文件被include()或require()時,是怎樣工作的,從目標文件開始分析PHP模塊和HTML模塊的點滴,在結束時重新摘要PHP模塊。
前提是,有一些被有效地PHP開始和結束標簽包含著的可執行的PHP代碼在文件中。
require() 實際上不是一個PHP函數:正確的說,它是一個語言的構成部分。它的規則與函數有一些不同。如,require() 不會受包含控制結構的控制。另外,它不會返回任何值;嘗試從require()調用中讀取一個返回值的結果是解析錯誤。
不同的是include(), require() 將總是讀目標文件,即使它沒有可執行的行。如果你想有條件的包含一個文件,請使用include()。條件語句不會影響require()。
 可是,if the line on which the require() occurs is not executed, neither will any of the code in the target file be executed.
類似的,循環控制也不會影響require()的行為。
 盡管包含文件仍然受循環的控制,但是require() 只執行一次。
這意味著,你不能把require() 語句放在一個循環語句中,期待著它能在每一次循環中包含不同的文件。要這樣做,請使用include() 語句。
 
require ('header.inc');
 
當一個文件被require()包含時, 包含著的代碼將繼承發生require() 那行的變量作用域。在調用文件行的任何可用變量在被調用文件中都將可用。如果require() 發生在正在調用文件中的函數裡,這時被調用文件中的全部代碼就好像已經被定義在了函數中一樣。
如果require()包含的文件是經過HTTP使用fopen打開的,如果目標服務器能作為PHP代碼解析目標文件,變量可以使用帶有URL的有HTTP GET請求字符串的require()傳遞。嚴格的說require()一個文件和繼承它的父文件的變量作用域是不同的:這個腳本實際上是運行在遠程服務器上,在本地腳本中包含的是它的結果。
 
/* 這人例子假設someserver已經配置了.php的解析而不是.txt文件。
 * 同樣,'works' 意味著被包含文件中的變量$varone 和$vartwo 是可用的*/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved