所以基本上,这两种方法有什么区别:
<img src="<?php print base_url(); ?>img/test.png" />
<!-- and -->
<img src="/img/test.png" />
我在我的网站上得到了相同的结果。不妨删除我的控制器上的 URL 帮助程序 ( $this->load->helper('url')
) 以减少额外的进程,因为它们是一样的。
如果添加助手有好处,请告诉我。
所以基本上,这两种方法有什么区别:
<img src="<?php print base_url(); ?>img/test.png" />
<!-- and -->
<img src="/img/test.png" />
我在我的网站上得到了相同的结果。不妨删除我的控制器上的 URL 帮助程序 ( $this->load->helper('url')
) 以减少额外的进程,因为它们是一样的。
如果添加助手有好处,请告诉我。
不同之处在于您是否想将应用程序放在子目录中。
如果 / now 变成 /application/ 您的所有站点根目录引用都将中断。
它只是使您的应用程序可以免费安装在任何地方,并且不需要位于站点根目录上。
根据我使用 CodeIgniter 的经验,使用 base_url() 是一种最佳实践。它最终保证您的链接是正确的(类似于添加 ../ 当您需要的文件夹高 1 级时的工作方式)。另外,如果我忘记在其中输入 http://,CodeIgniter 在 config[base_url] 中添加 url 两次时也遇到过问题。一个简单的错误,但它可能会导致整个项目失败。因此,基本上不同之处在于它保证路径是正确的,但并非始终都是必需的。
如果您使用的是域的根路径,则没有区别。
这有点像一个功能,如果您使用它,您可以更轻松地迁移到任何域或内部目录路径。
另一个优势是当您开发 API 或 RSS 提要时,图像路径或其他任何内容都将被编写为完整的 URL,以便消费者可以轻松使用它。
我在 site_url() 中发现了另一件事。这是我发现在网址末尾设置 / 的唯一方法。例如:将导致http://domaine.tld/controller
另一方面 http://domaine.tld/controller/ 希望对某人有所帮助