CodeIgniter, доступ к свойству класса после перезагрузки страницы, это возможно? - PullRequest
0 голосов
/ 24 мая 2011

У меня есть страница CI, которая загружается в div в файле представления, используя jQuery. Используя переключатель (page_parameter), я контролирую то, что отображается со страницы.

Когда я вызываю страницу в третий раз, я устанавливаю значение в массив классов. Но когда я вызываю 4-й раз, массив становится пустым.

Мне было интересно, возможно ли на самом деле использовать свойство класса для хранения значения, которое можно использовать после повторного доступа к странице? Или чего-то не хватает в моей голове? Я знаю, что использование сессии не очень хорошая идея, поскольку реальный массив - это большой кусок сериализованного XML.

Вот мой код:

class MyClass extends MY_Controller
{
    public static $pitems = array();

    function Hotel(){
        parent::MY_Controller();
    }

   function new_campaign(){
        $params = $this->uri->uri_to_assoc();
        switch($params['step']){
             case '3' : self::$pitems = array("test","another"); //here the class array was set successfully
                        $this->load->view('viewer');
                        break;
             case '4' : print_r(self::$pitems); //here the array is empty
                        break;

        }
   }

На странице просмотра есть вызов на страницу:

   <a href="myclass/new_campaign/step/4">Next page</a>

Та же проблема и с $ this-> Что мне здесь не хватает? Заранее спасибо ~

редактирование: Я видел сценарий, который имеет похожий сценарий. он успешно использовал набор переменных в конструкторе, вместо того, чтобы рассматривать его как переменную класса. Я посмотрю внимательно, чтобы подтвердить это, но сейчас я закрою эту ветку. Спасибо Крис за то, что поделился.

1 Ответ

0 голосов
/ 25 мая 2011

Я не совсем уверен, что вы пытаетесь сделать, но у меня есть пользователи jQuery post () / get () / ajax () много раз в CI, и у меня не было проблем. Поэтому, несмотря на то, что вы не знаете или не понимаете, что вы пытаетесь сделать. Я думал, что по крайней мере скажу, что знаю, что загрузка данных без обновления в CI через что-то вроде jQuery не проблема. В примере на системе, которую я построил на CI, был твиттер, похожий на твиты, где jQuery по таймеру опрашивал новые данные и возвращался с ними каждый раз соответственно, если нужно показать что-то новое.

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