每个项目都应该包含一个包含此信息的 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 的解释方式。