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