CodeIgniter相对路径或基URL函数


CodeIgniter relative path or base URL function?

这些天我一直认为CodeIgniter不允许直接访问应用程序中的文件(我指的是应用程序本身,而不是应用程序文件夹)。

那么,如果我在文件夹下有如下结构www:

ROOT
|____APPLICATION
        |___________JS/mine.js
        |___________VIEWS/my_view.php

如果我想在my_view.php中包含mine.js,我需要使用base_url()函数引用JS文件,如下所示:

<script type="text/javascript" src="<?php echo base_url();?>js/mine.js"></script>

看起来我错了,我也可以相对地参考一下。如:

<script type="text/javascript" src="../js/mine.js"></script>

想法/意见吗?

哪一个是好的实践?,为什么?

使用base_url()总是一个聪明的主意,所以如果你的URL改变了,你所有的链接都不会中断。

base_url()将返回完整的顶级域名,加上您的网站所在的任何文件夹。

最佳实践是将您的资产保存在应用程序或任何其他系统文件夹之外。大多数CodeIgniter站点的资产结构如下:

ROOT
|____APPLICATION
|____ASSETS
|      |________ CSS
|      |________ JS
|      |________ IMG
|____SYSTEM

然后像这样引用:

<script type="text/javascript" src="<?php echo base_url('assets/js/mine.js')"></script>

这总是一个好主意,而使用MVC保持所有的资产文件夹(css, js和图像)在根目录,而不是保持内部应用程序或任何其他文件夹,并使用base_url访问它们。

<script type="text/javascript" src="<?php echo base_url();?>js/mine.js"></script>

所以我认为你提到的那一行是正确的方法。