Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何设置Codeigniter来处理具有共享ci库的多个项目?_Php_Codeigniter_Subproject - Fatal编程技术网

Php 如何设置Codeigniter来处理具有共享ci库的多个项目?

Php 如何设置Codeigniter来处理具有共享ci库的多个项目?,php,codeigniter,subproject,Php,Codeigniter,Subproject,我见过几个CI实现示例,它们声称您可以将项目文件夹放在Codeigniter的“应用程序”文件夹下 然而,我一直无法看到这项工作的承诺 以下是我所做的和我想做的——也许你能帮上忙。为了便于讨论,我的文档根是/www/(不是,但为了简单起见,让我们使用它) 我已将codeigniter核心放在/www/corelib/codeigniter中 我已将codeigniter系统文件夹放在/www/ci_system中 我已将应用程序目录放在/www/applications中 我已将我的“入口点”放

我见过几个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目录下,如下所示:

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取代而且磁盘很便宜。