我见过几个CI实现示例,声称可以将项目文件夹放在Codeigniter的“applications”文件夹下。
然而,我无法像承诺的那样看到这项工作。
以下是我所做的以及我想做的事情 - 也许你可以提供帮助。为了争论,我的文档根目录是/ www /(它不是,但为了简单起见,让我们使用它)
我已将codeigniter核心放在/ www / corelib / codeigniter
中我已将codeigniter系统文件夹放在/ www / ci_system
中我已将应用程序目录放在/ www / applications
中我把我的“入口点”放在/ www / dd
中现在让我说我有两个项目:“dataentry”和“cpanel”
我的想法是,我可以去
h ** p:// mydomain / dd / dataentry //用于dataentry应用程序和
h ** p:// mydomain / dd / cpanel //用于cpanel应用程序。
如果我像这样组织dataentry和cpanel目录:
/网络/应用/控制器/的DataEntry
/网络/应用/控制器/的cPanel
/网络/应用/模型/的DataEntry
/网络/应用/模型/的cPanel
/网络/应用/视图/的DataEntry
/网络/应用/视图/的cPanel
我可以让这个工作得很好。但是,我想要做的是将模型和视图保持在与控制器相同的级别,以便我有以下内容:
/网络/应用/的DataEntry /控制器
/网络/应用/的DataEntry /模型
/网络/应用/的DataEntry /视图
/网络/应用/的cPanel /控制器
/网络/应用/的cPanel /模型
/网络/应用/的cPanel /视图
这似乎不起作用。
有什么建议吗?
-CF
答案 0 :(得分:0)
每个应用程序(“dataentry”和“cpanel”)是否都有自己的主index.php文件,该文件定义了相应的$ application_folder变量?
另外 - 我确定你已经阅读了文档 - 但是CodeIgniter's documentation声明/ applications目录(或者你自己的目录)应该存在于/ system目录下,如下所示:
system/application/foo/
system/application/foo/config/
system/application/foo/controllers/
system/application/foo/errors/
system/application/foo/libraries/
system/application/foo/models/
system/application/foo/views/
system/application/bar/
system/application/bar/config/
system/application/bar/controllers/
system/application/bar/errors/
system/application/bar/libraries/
system/application/bar/models/
system/application/bar/views/
答案 1 :(得分:0)
好的 - 我的工作符合要求。我将尝试编写更广泛的“操作方法”,并在评论部分提供一个链接。
我不需要修改.htaccess而不是CI要求 - 我很高兴。我的输入目录如下所示:
/dd/index.php
这两个关键部分在这里:
list($blank, $webpath, $app) = explode('/', $_SERVER['REQUEST_URI']);
$application_folder = $_SERVER['DOCUMENT_ROOT]."/applications/$app";
这允许单个index.php处理所有应用程序。
我缺少的部分是appName现在也必须是主控制器或控制器内的目录。 (我遇到的真正问题是我被黑客攻击太多,以至于我有配置和路线阻止我意识到我实际看到的内容:有时候开始清理是必要的。)