每個項目應該包含保留此信息的config.php文件。
的config.php
define('ENVIRONMENT', 'PRODUCTION');
// define('ENVIRONMENT', 'TESTING');
// define('ENVIRONMENT', 'DEVELOPMENT');
switch (ENVIRONMENT) {
case 'PRODUCTION':
define('BASE_URL', 'http://www.mysite.com');
define('BASE_PATH', '/');
break;
case 'TESTING':
define('BASE_URL', 'http://test.mysite.com');
define('BASE_PATH', '/test/');
break;
case 'DEVELOPMENT':
define('BASE_URL', 'http://localhost/');
define('BASE_PATH', '/www/myproject/');
break;
}
那麼也許有一個URL輔助文件。
url_helper.php
function site_url($relative) {
return BASE_URL . $relative;
}
function redirect($uri = '', $method = 'location', $http_response_code = 302) {
if (! preg_match('#^https?://#i', $uri)) {
$uri = site_url($uri);
}
switch($method) {
case 'refresh' : header("Refresh:0;url=".$uri);
break;
default : header("Location: ".$uri, TRUE, $http_response_code);
break;
}
exit;
}
和負載幫手。
load_helper.php
function load_file($uri) {
require BASE_PATH . $uri;
}
function load_class($class) {
if (! class_exists($class))
load_file('class/' . $class);
}
這些功能可能會更穩健,以滿足您的需求。優點是您可以針對生產/開發,各種服務器或僅針對特定環境使用不同的配置。如果您始終使用site_url函數在您的站點周圍生成URL,則可以通過在單個文件中進行更改來輕鬆更改URL的解釋方式。
太好了,謝謝。我會給這個鏡頭 – 2013-04-05 00:25:16