在CodeIgniter项目中,资产应该放在哪里?
我刚刚开始使用CodeIgniter,我不确定css,js和图像等东西应该去哪里。在整个系统文件夹之外似乎没问题,但这意味着一切都是分开的。内部意味着文件路径更长,我担心它可能会把事情搞砸。此问题的最佳做法是什么?
我刚刚开始使用CodeIgniter,我不确定css,js和图像等东西应该去哪里。在整个系统文件夹之外似乎没问题,但这意味着一切都是分开的。内部意味着文件路径更长,我担心它可能会把事情搞砸。此问题的最佳做法是什么?
我通常在根级别放置单独的文件夹,因此我最终得到如下目录结构:
/system
/css
/js
/img
似乎对我有用 - 当你使用时,它生成的URL来自根目录,所以你可以用来生成样式表等的URL。site_url(url)
site_url('css/file.css')
就个人而言,我将目录从目录中删除,并使其成为 .然后,我创建一个项目目录,在其中移动索引.php并存储我的公共资产。application
system
system
public_html (www)
假设您正在处理的项目称为 。在父目录中创建一个名为 的目录,并在该目录中从您正在使用的版本创建一个目录,等等。projekt
public_html (www)
CISYSTEM
202
210
/CISYSTEM
/202
/210
/another_CI_version
/projekt_application
/models
/views
/controllers
/private_assets
/public_html
/projekt
index.php
.htaccess
css
img
js
lib
这种目录结构的美妙之处在于它增加了另一层安全性,使升级/交换CI核心变得非常容易。另外,你不应该对核心进行更改 - 有一个存储核心的目录,并让所有项目引用它,它保持干燥。
所有这些目录洗牌都需要您重新路由一些事情。幸运的是,CodeIgniter使它变得容易 - 所有更改都可以在文件中进行。index.php
打开并重新路由一些操作:index.php
改变:$system_path = 'system';
自:$system_path = '../../CISYSTEM/210';
改变:$application_folder = 'application';
自:$application_folder = '../../projekt_application';
另外,我看到很多人在其他答案中谈论使用。我推荐一种不那么冗长的使用方式...如果你使用HTML的元素,你不必每次都调用它:site_url()
site_url()
<base>
<base href="<?= site_url();?>">
只需将其包含在应用程序中,即可直接调用控制器...如:<head>
<a href='controllername/functionname'>Some Action</a>
干杯