Интеграция/Миграция двух приложений CodeIgniter.

У меня есть два приложения, разработанные в CodeIgniter, оба работают на отдельном сервере, т.е.

www.CI_App_1.com

и

www.CI_App_2.com

Теперь я хочу интегрировать CI_App_2 в приложение CI_App_1, после чего я могу вызвать default_controller из CI_App_2 из одной из ссылок из CI_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_1. После процесса аутентификации пользователь может получить доступ только к моему CI_App_2. Если пользователь попытается получить к нему доступ без аутентификации, получите сообщение об ошибке:

Доступ запрещен

Я ссылался на следующие ссылки:

Метод управления вызовом CodeIgniter вне каталога приложения

CodeIgniter: контроллер загрузки в контроллере

Как загрузить контроллер с другого контроллера в 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 из второго приложения в первое приложение.

Возможно ли это?

Приветствуется всякая помощь. Заранее спасибо. Надеюсь, у вас есть мой вопрос.

+16
источник поделиться
2 ответа

Следующим набором функций на application_1 default_controller может быть его работа.

public function _remap($method) {
    $userdata = $this->session->userdata('user');
    if (!empty($userdata)) {
        modules::run('application_2/controller/default_controller');
    }
}
+3
источник

Хорошо, Лучше всего, чтобы вместо их слияния. вам нужно сдвинуть

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

Таким образом, вы можете получить доступ к app2 внутри приложения1 с некоторым добавлением маршрутов.

Я должен порекомендовать не перекладывать весь код приложения2 в app1, как есть.

Это не будет хорошо.

+2
источник

Посмотрите другие вопросы по меткам или Задайте вопрос