2

我见过几个 CI 实现示例,声称您可以将项目文件夹放在 Codeigniter 的“应用程序”文件夹下。

但是,我无法按承诺看到这项工作。

这是我所做的以及我想做的-也许您可以提供帮助。为了论证,我的文档根是/www/(不是,但为了简单起见,我们使用它)

我已将 codeigniter 核心放在 /www/corelib/codeigniter

我已将 codeigniter 系统文件夹放在 /www/ci_system

我已将应用程序目录放在 /www/applications

我已经把我的“入口点”放在 /www/dd

现在假设我有两个项目:“dataentry”和“cpanel”

想法是我可以去

h**p://mydomain/dd/dataentry // 用于数据输入应用程序和

h**p://mydomain/dd/cpanel // 用于 cpanel 应用程序。

如果我像这样组织 dataentry 和 cpanel 目录:

/www/applications/controllers/dataentry

/www/applications/controllers/cpanel

/www/applications/models/dataentry

/www/applications/models/cpanel

/www/applications/views/dataentry

/www/applications/views/cpanel

我可以让它正常工作。但是,我想做的是将模型和视图保持在与控制器相同的级别,以便我拥有以下内容:

/www/applications/dataentry/controllers

/www/applications/dataentry/models

/www/applications/dataentry/views

/www/applications/cpanel/控制器

/www/applications/cpanel/models

/www/applications/cpanel/views

这似乎不起作用。

有什么建议么?

-CF

4

2 回答 2

0

每个应用程序(“dataentry”和“cpanel”)是否都有自己的主 index.php 文件,该文件定义了适当的 $application_folder 变量?

另外 - 我相信你已经阅读了文档 - 但是CodeIgniter 的文档指出 /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/
于 2009-10-09T02:56:25.183 回答
0

好的 - 我已经按要求工作了。我将尝试编写更广泛的“操作方法”,并将在评论部分提供链接。

我不必再修改 .htaccess 而不需要 CI 要求了——我对此很高兴。我的入口目录如下所示:

/dd/index.php

两个关键部分在这里:

list($blank, $webpath, $app) = explode('/', $_SERVER['REQUEST_URI']);
        $application_folder = $_SERVER['DOCUMENT_ROOT]."/applications/$app";

这允许单个 index.php 处理所有应用程序。

我缺少的部分是 appName 现在也必须是主控制器或控制器中的目录。(我遇到的真正问题是我进行了太多的黑客攻击,以至于我的配置和路线使我无法意识到我实际看到的内容:有时开始清理是必要的。)

于 2009-10-09T15:54:08.487 回答