这些天我一直认为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>
所以我认为你提到的那一行是正确的方法。