2013-08-06 43 views
0

我正在codeigniter中編寫我的config.php文件中的自定義配置,但是從開發到生產,有很多工作將我的自定義配置重命名爲反映新的域。避免在config.php中重複base_url

例如

$config['base_url'] = 'http://localhost/_init/'; 

$config['media_player_js'] = 'http://localhost/assets/'; 

$config['media_player_css'] = 'http://localhost/_init/'; 

$config['videos'] = 'http://localhost/_init/'; 

$config['audios'] = 'http://localhost/_init/'; 

我不得不重複基礎URL 4個times.Is $config['base_url']變量可用於config.php文件裏使用?

回答

3

你爲什麼要定義BASE_URL()? base_url應該包含基本路徑。我給我在我的項目中使用的例子: - 在您的配置文件

定義象下面這樣BASE_URL: -

$root = "http://".$_SERVER['HTTP_HOST']; 
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 
$config['base_url'] = "$root"; 

然後假設你要訪問assets文件夾。所以你只需要寫base_url()."assets/"。像這樣您可以從項目中的任何位置訪問您的任何文件夾。

注意: - 對於生產服務器,base_url()也不需要任何更改。

+0

negetive point ??? !!!指定原因plz ...因爲在這種格式下,我已經完成了近10個codeigniter項目... – ripa

+0

誰做出了負面評論plz,否則我會問的主持人stackoverflow ... – ripa

0
$config['base_url'] = '/_init/'; 
$config['media_player_js'] = '/assets/'; 
$config['media_player_css'] = '/_init/'; 
$config['videos'] = '/_init/'; 
$config['audios'] = '/_init/'; 

將允許您在任何域上使用相同的配置。

+0

任何想法爲什麼這個'$ config ['media_player_js'] \t = $ config ['base_url'] .'assets/custom.js';''''echo $ this-> config-> item('media_player_js' ); '工作?順便說一下你的解決方案不起作用。 –

+1

任何想法爲什麼它不應該? –

+0

我估計現在開始使用'$ config ['base_url']'變量還爲時過早;) –

0

我很驚訝這個工作

$config['media_player_js'] = $config['base_url'] .'assets/media_player.js'; 

,並在像你的配置文件使用它

echo $this->config->item('media_player_js'); 
+0

請發表評論。 –