我相信Smarty模板進行更新內置了該功能允許你從一個配置文件來管理您的網站網址,因此,如果某樣東西移動,你只需要更新網址在一個地方。 CodeIgniter中有這種功能嗎?如果沒有,任何指示或示例如何/在哪裏添加它?如何笨管理網址,這樣他們就可以在一個地方
例如:
而不是硬編碼這將是鏈接:<a href="<?=$links->settings ?>">Settings</a>
但你會在哪裏要設置$鏈接,這樣,就隨處可見?或者是最好只是硬編碼它們?
我相信Smarty模板進行更新內置了該功能允許你從一個配置文件來管理您的網站網址,因此,如果某樣東西移動,你只需要更新網址在一個地方。 CodeIgniter中有這種功能嗎?如果沒有,任何指示或示例如何/在哪裏添加它?如何笨管理網址,這樣他們就可以在一個地方
例如:
而不是硬編碼這將是鏈接:<a href="<?=$links->settings ?>">Settings</a>
但你會在哪裏要設置$鏈接,這樣,就隨處可見?或者是最好只是硬編碼它們?
看看在config類。它允許你創建自定義的配置文件。 這不是完全爲URL的,但你一定可以使用它們。
基本URL應該是基本正確的/app/config/config.php,其中應用程序是你的CodeIgniter應用程序文件夾的名稱的開頭。您可以通過調用base_url()
函數來訪問它。
我建議做這種方式,您的所有資產應與'BASE_URL()'函數被調用。這樣,您可以輕鬆管理,比如CDN,這樣簡單。 http://blog.stevenlu.com/2012/06/07/codeigniter-and-cdns/ – 2012-07-11 01:43:26
我更關注管理的路徑與域改變,因爲我所有的鏈接都是:。 – Justin 2012-07-11 04:17:37
啊,呃。請注意,開始移動資源並補償路由是一項糟糕的長期戰略。在你知道它之前,你的網站可能變成一團混亂的意大利麪條。 – 2012-07-11 07:06:45
是的,這就是所謂的Routes
,配置位於config/routes.php
。 Documentation
如果你問的環節呈現的HTML,那麼你最好的選擇是與常量一起使用site_url()
,例如site_url(URL_SETTINGS);
,沒有內置在該功能,但我可以說我不認爲這是必要的,因爲它很少會被使用,但會影響每個負載的性能。
是啊,我的意思是渲染的鏈接,這樣,而不是把的: settings 這將是: settings ?> 和$鏈接 - >設置將在配置什麼的設置。這樣,如果我決定將它移動到/ users/settings /,我可以在配置文件中更新它,而不必跟蹤它的每個實例。 – Justin 2012-07-11 04:12:59
這實際上很糟糕,您應該在開始編碼之前考慮這一點,每次運行該代碼都會影響性能。但是,如果你需要它,可以使用'site_url(CONSTANT_NAME);'作爲常量更適合這項工作。另外,** Sam Dufel **的答案是建議使用'base_url()',如果啓用了'mod_rewrite',並且config中的$ config ['index_file']'設置爲「」 ,但爲了便於攜帶,以及確保您不會遇到某些庫的問題,比如i18n - 使用'site_url()'作爲鏈接並使用'base_url()'作爲資產。 – 2012-07-11 07:26:34
順便說一句,如果該網站使用緩存,性能命中@Vlakarados提及將不存在。 – Justin 2013-11-11 23:29:47
我同意,這看起來像設置他們,如果你打算這樣做的最佳場所。儘管聽起來好像每個人都在說這不是一個好主意。我可以發誓我看到一個使用SMARTY的PHP項目,它通過某種配置管理所有URL,但我找不到示例。也許這只是項目開發人員編寫的自定義代碼。 – Justin 2012-07-12 08:03:05
我見過DX_Auth(http://codeigniter.com/forums/viewthread/98465/)使用它。 – Robert 2012-07-12 08:30:22