Хороший вопрос, и, поскольку я еще не задумывался над тем, чтобы сделать что-то похожее для своих сайтов, сейчас самое время взглянуть на это ...
Это не самое большое из решения, но кое-что стоит рассмотреть.
Вы можете добавить (добавить) следующее в свое приложение. php, чтобы содержать ...
protected $localFolder = 'localfolder';
public function __construct() {
parent::__construct();
$this->setBaseUrl(); // Set the Base URL
}
protected function setBaseUrl() {
switch ($_ENV['CI_ENVIRONMENT']) {
case 'development':
$this->baseURL = "http://$this->localFolder.loc";
break;
default:
$this->baseURL = "http://testserver.com/$this->localFolder";
break;
}
}
} // End of APP Class
Таким образом, изменив значение CI_ENVIRONMENT в вашем .env file переключит ваш $ baseURL.
A Better way
Возможно, вам лучше установить $ localFolder в качестве значения ENV, чтобы вы могли управлять этим из одного места .
LOCAL_FOLDER = 'localfolder'
В вашем файле .env
#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------
# CI_ENVIRONMENT = production
CI_ENVIRONMENT = development
LOCAL_FOLDER = 'localfolder'
Тогда метод setBaseUrl станет
protected function setBaseUrl() {
switch ($_ENV['CI_ENVIRONMENT']) {
case 'development':
$this->baseURL = "http://{$_ENV['LOCAL_FOLDER']}.loc";
break;
default:
$this->baseURL = "http://testserver.com/{$_ENV['LOCAL_FOLDER']}";
break;
}
}
К счастью, это дает вам несколько идей.