передача данных с контроллера на другой контроллер - PullRequest
1 голос
/ 16 февраля 2012

существует ли способ передачи данных с контроллера на другой контроллер с помощью php framework CodeIgniter? Я имею в виду, что у меня есть некоторые данные в контроллере, и я бы передавал их на другой контроллер ....

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Ваш вопрос побеждает цель паттерна MVC.Контролерам не нужно «знать друг о друге».В этом случае у вас могут возникнуть серьезные проблемы со связыванием.

Если вы можете, попробуйте «передать» информацию через URI (который без RESTful), как предлагает @stormdrain.Если вы не можете поддерживать состояние без сохранения состояния, используйте данные сеанса.

Данные сеанса немного больше подходят для того, что вы делаете, особенно если вам нужно, чтобы приложение «запомнило» то, что произошло ранее в сеансе.,CI имеет довольно хорошую внутреннюю библиотеку для этого (хотя не без некоторых задокументированных недостатков, справедливое предупреждение):

http://codeigniter.com/user_guide/libraries/sessions.html

0 голосов
/ 16 февраля 2012

$_POST данные передадут данные другому контроллеру.Вы также можете использовать следующие параметры:

class Test extends CI_Controller{
    function page($param=""){
        echo $param;
    }
}

http://site.local/test/page/blah даст вам пустую страницу со словом «бла».Тем не менее, не очень хорошая идея передавать данные через параметры вне int (например, id) ... часто у вас будут запрещенные символы url, если вы не используете int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...