集成/迁移两个 CodeIgniter 应用程序。

2022-08-31 01:21:22

我有两个在CodeIgniter中开发的应用程序,都在单独的服务器上工作,即

网易娱乐.CI_App_1.com

网易娱乐.CI_App_2.com

现在我想集成到应用程序中,因此之后我能够从中调用链接之一。CI_App_2CI_App_1default_controllerCI_App_2CI_App_1

我的文件夹结构:

htdocs :
    -application_1
        -application

            -application_2
                -application
                    -config
                        -autoload.php
                        -config.php
                        -routes.php
                    -controllers
                        -app_2_controller.php
                    -helpers
                    -libraries
                    -models
                        -app_2_model.php
                    -views
                        -app_2_view.php
                -system
                -.htaccess
                -index.php

            -config
                -autoload.php
                -config.php
                -routes.php
            -controllers
                -app_1_controller.php
            -helpers
            -libraries
            -models
                -app_1_model.php
            -views
                -app_1_view.php
        -system
        -.htaccess
        -index.php

我想在用户从 登录后访问CI_App_2。身份验证过程后,用户只能访问我,如果用户尝试在不进行身份验证的情况下访问它,则收到错误消息:CI_App_1CI_App_2

禁止访问

我参考了以下链接:

在应用程序目录外调用 CodeIgniter 的控制器方法

代码控制器:控制器内的负载控制器

如何在码标中从另一个控制器加载控制器?

Codeigniter:从一个控制器调用另一个控制器的方法

http://www.techsirius.com/2013/01/load-controller-within-another.html

https://www.quora.com/Can-I-call-a-controller-function-that-resides-in-another-controller-in-CodeIgniter

http://www.devnetwork.net/viewtopic.php?f=72&t=131353

如何设置在同一台服务器上运行的两个代码图编辑器应用程序

https://www.codeigniter.com/user_guide/general/managing_apps.html

但是在上面的链接中,他们说应该使用HMVC模块结构来完成,但没有人提到两个控制器文件都来自同一个应用程序或不同。我想从第二个应用程序访问第一个应用程序。default_controller

可能吗?

任何帮助都是值得赞赏的。提前致谢。希望你得到我的问题。


答案 1

application_1 default_controller上设置的以下功能可能是它的工作。

public function _remap($method) {
    $userdata = $this->session->userdata('user');
    if (!empty($userdata)) {
        modules::run('application_2/controller/default_controller');
    }
}

答案 2

好吧,最好不要合并这些。你需要换班

app2/controllers  => app1/controllers/app2
app2/views  => app1/views/app2

通过这种方式,您可以通过添加一些路由来访问 app1 中的 app2。

我必须建议不要在app1中移动app2的所有代码。

它不会好。


推荐