Php 如何设置Codeigniter来处理具有共享ci库的多个项目?
我见过几个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/controllers /www/applications/cpanel/models /www/applications/cpanel/views 这似乎不起作用 有什么建议吗 -CF每个应用程序(“数据条目”和“cpanel”)是否都有自己的主index.php文件,该文件定义了相应的$application\u文件夹变量 此外,我相信您已经阅读了文档,但是声明/applications目录(在您的情况下是多个目录)应该存在于/system目录下,如下所示:Php 如何设置Codeigniter来处理具有共享ci库的多个项目?,php,codeigniter,subproject,Php,Codeigniter,Subproject,我见过几个CI实现示例,它们声称您可以将项目文件夹放在Codeigniter的“应用程序”文件夹下 然而,我一直无法看到这项工作的承诺 以下是我所做的和我想做的——也许你能帮上忙。为了便于讨论,我的文档根是/www/(不是,但为了简单起见,让我们使用它) 我已将codeigniter核心放在/www/corelib/codeigniter中 我已将codeigniter系统文件夹放在/www/ci_system中 我已将应用程序目录放在/www/applications中 我已将我的“入口点”放
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/
每个应用程序(“dataentry”和“cpanel”)是否都有自己的主index.php文件,该文件定义了相应的$application\u文件夹变量
此外,我相信您已经阅读了文档,但是声明/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/
好的,我已经按要求完成了。我将尝试写一个更广泛的“操作方法”,并在评论部分提供一个链接 我不需要再修改.htaccess了,这比CI需要的要多——我对此感到高兴。我的条目目录如下所示: /dd/index.php 这里有两个关键部分:
list($blank, $webpath, $app) = explode('/', $_SERVER['REQUEST_URI']);
$application_folder = $_SERVER['DOCUMENT_ROOT]."/applications/$app";
这允许单个index.php处理所有应用程序
我缺少的部分是appName现在也必须是主控制器或控制器中的目录。(我遇到的真正问题是,我的黑客攻击太多了,以至于我的配置和路由阻止了我意识到我实际上看到了什么:有时候,开始清理是必要的。)好吧,我已经按预期工作了。我将尝试写一个更广泛的“操作方法”,并在评论部分提供一个链接 我不需要再修改.htaccess了,这比CI需要的要多——我对此感到高兴。我的条目目录如下所示: /dd/index.php 这里有两个关键部分:
list($blank, $webpath, $app) = explode('/', $_SERVER['REQUEST_URI']);
$application_folder = $_SERVER['DOCUMENT_ROOT]."/applications/$app";
这允许单个index.php处理所有应用程序
我缺少的部分是appName现在也必须是主控制器或控制器中的目录。(我遇到的真正问题是,我的黑客攻击太多,以至于我的配置和路由使我无法意识到我实际上看到了什么:有时必须从头开始清理。)应用程序目录的默认位置在系统目录下-但是这是可变的,很容易更改,并且是主index.php文件中的“用户可配置设置”。您的第一点-单个index.php文件(或应用程序名称文件)是问题的核心。我希望避免使用它们并保留一个index.php文件。我现在正在研究.htaccess文件的创造性使用…感谢您的帮助!-cf应用程序目录的默认位置在系统目录下-但是这是可变的,很容易更改,并且是主index.php文件中的“用户可配置设置”。第一点-单个index.php文件(或应用程序名称文件)是问题的核心。我希望避免使用它们并保留一个index.php文件。我现在正在研究.htaccess文件的创造性使用…感谢您的帮助!-CF10年是很长的时间。我们试图做的是尽量减少每个存储库中的CI,并更新每个项目。在当今世界,这是Merge由Composer负责,CI由Laravel取代,SVN由GIT取代。而且磁盘很便宜。10年是很长的时间。我们试图做的是尽量减少每个存储库中的CI,并更新每个项目。在当今世界,这主要由Composer负责,CI由Laravel取代,SVN由GI取代而且磁盘很便宜。