每个项目应该包含保留此信息的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