定义基本URL常量而不是使用base_url()?

时间:2012-02-07 20:52:05

标签: codeigniter constants codeigniter-2 codeigniter-url base-url

而不是调用函数:

base_url()

对于每个链接,在constants.php中定义基本URL是否有意义:

define('BASE_URL', 'http://mysite.com/');

然后使用该常量,以便在页面上多次不能进行多次函数调用?

2 个答案:

答案 0 :(得分:3)

不完全。如果您使用以下任何功能,您将遇到意外行为:

  • redirect()
  • site_url()
  • base_url()
  • form_open()
  • anchor()

这不是一个详尽的列表 - 许多其他功能依赖于基本URL配置设置。更好的方法可能是使用相对链接,而不是硬编码绝对URL。

我,我自己,一直试图用site_url()来定义每个链接作为偏执的量度(想知道URL结构是否会改变)。但实际上,经历对站点地图的大规模改造将产生比链接更难的问题。为了开发起见,我现在只使用有意义的相对链接。

干杯!

答案 1 :(得分:0)

在我看来,我不会担心多次调用base_url() - 我怀疑它会对性能产生重大影响。

此外,我不喜欢使用常量的想法,因为基本URL将在两个不同的位置基本上定义两次。一旦进入config.php,就会出现BASE_URL常数所在的任何地方。然而,这只是我对它的想法 - 也许其他人可以为此做出判断。

tl; dr 我不认为多次调用base_url()是一个问题,在大多数情况下,可能不会对性能产生重大影响。