透過包含檔案來組織項目

日期:2008-07-02  作者:喜騰小二  來源:PHPChina


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_URLAPP_FOL ( 程式檔案夾)
當我將項目從我的開發機器上移植到產品伺服器上,我僅僅是將SERVER_URL (伺服器路徑)
改成站點的網域名稱(比如:http://phpsense.com
APP_FOL 從“/phpsense/”變成“/”。
app-top.php 包含檔案
在這個包含檔案中我們初始化我們的程式:
1.開啓快取輸出
2.開啓session
3.開啟資料庫連線
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更簡單。

<<<返回技術中心

技術文章

站內新聞

我要啦免费统计