include()語句給了PHP程式設計師一個強大的專案管理工具。將一些內容或佈局的想法放到包含文件中可能會使你的開發時間
節省
無數個小時。(PHP程式設計)至少有兩個通用的包含文件,所謂通用,是指必須在任何PHP頁面的頂部都要引用(或包含)。這兩個引用文件
主要的作用是我不用艱難的在我的程式中嵌入或編碼網域、路徑和連結。我可以輕鬆的將我的工程從我的開發開發的機器
上移植到產品伺服器上。
包含檔案:config.php
config.php檔案是用來保存資料庫連線細節和其他的設定
<?phpdefine('DB_HOST','localhost');define('DB_USER','jatinder');define('DB_PASSWORD' ,'secret');define('DB_DATABASE','xyz');define('TFX','xyz_');define('SERVER_URL','http://localhost');define('APP_FOL',' /phpsense/');?>第一行我們為將來使用mysql_connect()和mysql_select_db()函數定義了連線細節。接著我們定義了一個TFX常數用來作為資料表的標準前綴。將這個前綴加到資料庫所有的表中。每個項目的表前綴都是獨一無二的。即使你知道將一個新的乾淨的數據安裝到專案中,但這並不妨礙你添加前綴。如果你正在本機上開發一個叫做phpsense 的項目,在大多數情況下,PHP檔案將在「phpsense 」資料夾下的htdocs目錄中。該URL到您的專案看起來會像http://localhost/phpsense/我將這個路徑分為兩部分:SERVER_URL和APP_FOL( 程式資料夾)當我將專案從我的開發機器上移植到產品伺服器上,我只是將SERVER_URL(伺服器路徑)改成網站的網域名稱(例如: http://phpsense.com )將APP_FOL從「/phpsense/」變成「/」。 app-top.php包含檔案在這個包含檔案中我們初始化我們的程式:1.開啟快取輸出2.開啟session3.開啟資料庫連線4.定義其他的共用變數和常數<?phpob_start('ob_gzhandler');
session_start();
error_reporting(E_ALL);
require_once('config.php');
define('APP_URL',SERVER_URL.APP_FOL);
define('SERVER_DOC_ROOT',$_SERVER['DOCUMENT_ROOT']);
define('APP_DIR',SERVER_DOC_ROOT.APP_FOL);
define('INCLUDES_DIR',APP_DIR.'includes/');
define('LIB_DIR',APP_DIR.'lib/');
define('UPLOADS_DIR',APP_DIR.'uploads/');
define('UPLOADS_URL',APP_URL.'uploads/');
$link=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if(!$link) {
print("Failed to establish connection to mysql server!");
exit();
}
$status=mysql_select_db(DB_DATABASE);
?>app-top.php腳本除了開啟session和連接資料庫之外,還定義了一對常數,他們是我到各種資料夾所需的基本路徑或URL例如INCLUDES_DIR給我存放了包含文件的的路徑地址。所以,不是使用:<?phpinclude("includes/myscript.php");
?>我使用:<?phpinclude(INCLUDES_DIR."myscript.php");
?>現在我不用擔心我的相對地址,此外我可以重命名我包含資料夾而不用中斷程式。不要在你的程式中使用硬編碼的路徑和URL,使用類似的這樣常數。現在你要做的是在每個PHP頁面的頂部引用app-top.php,任何一個包含了這個檔案的頁面都會有一個session,快取輸出,資料庫連接和預先定義包含檔案和函式庫的路徑。注意:你不需要在其他的包含檔案中引用app-top.php,只需要在頁面頂部引用它。為什麼是兩個文件你可能要問,為什麼我用了兩個單獨的文件,我可以很容易的使兩者合而為一。答案是這樣做可以獲得更多的彈性。假設一個客戶要求我為程式建立安裝腳本,現在我必須要建立簡單的表單和將值寫入config.php文件,透過PHP將值寫入config.php比寫app-top.php更簡單。