我需要从默认文件夹中加载控制器和模型。我正在使用Linux系统。
我正在为某些人构建一个简单的CI应用程序,以便在我拥有的共享主机上使用。但我想让他们只访问/ views文件夹和一些/ config文件。这就是为什么我需要将控制器和模型存储在与/ public_html文件夹相同级别的不同文件夹中,或者可能存储在linux系统中的某个位置。
我认为这是比编码文件更好的解决方案
答案 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文档以获取有关将文件组织到子文件夹的更多信息。