如何在CodeIgniter中更改控制器/模型源目录

时间:2010-06-16 19:21:47

标签: codeigniter models controllers

我需要从默认文件夹中加载控制器和模型。我正在使用Linux系统。

我正在为某些人构建一个简单的CI应用程序,以便在我拥有的共享主机上使用。但我想让他们只访问/ views文件夹和一些/ config文件。这就是为什么我需要将控制器和模型存储在与/ public_html文件夹相同级别的不同文件夹中,或者可能存储在linux系统中的某个位置。

我认为这是比编码文件更好的解决方案

1 个答案:

答案 0 :(得分:0)

CodeIgniter允许您将控制器,视图和配置文件组织到子文件夹中。据我所知,它不允许它用于模型(至少文档没有提到它,我没有尝试过自己)。

当您在Linux系统中时,可以创建一个符号链接来引用文件系统中的另一个目录。

所以你可以创建目录:

application/config/public
application/controllers/public
application/views/public

然后在/ public_html符号链接中创建ponting到这些目录:

/public_html/config -> application/config/public
/public_html/controllers -> application/controllers/public
/public_html/views ->application/views/public

当您的客户将文件上传到/ public_html / config时,它们也可以在application / config / public中使用。这同样适用于/ public_html / controllers和/ public_html / views。

创建符号链接的命令语法是

# ln -s target name

即:

# ln -s application/config/public /public_html/config

如果您没有托管服务器访问权限,则可以使用PHP函数symlink()创建链接。

要从子文件夹加载视图/配置/控制器,您只需在$ this-> load-> ...()函数调用中添加目录名称。即:

$this->load->view('public/my_view);

检查CI文档以获取有关将文件组织到子文件夹的更多信息。