PHP (CodeIgniter) передает объект через сессию - PullRequest
0 голосов
/ 23 мая 2010

Я использую PHP5 и CodeIgniter и пытаюсь реализовать функцию единого входа с Facebook (хотя я не думаю , что Facebook имеет отношение к данному вопросу). Я немного новичок в PHP и определенно новичок в CodeIgniter, так что, если вы думаете, что мой подход совсем не говорит, это тоже будет полезно.

Итак, вот вкратце, что я делаю:

//Controller 1

 $this->load->plugin("facebook");
 $facebook = new Facebook(array (
                        'appId' => $fbconfig['appid'],
                        'secret' => $fbconfig['secret'],
                        'cookie' => true,
                    )
                );
  $fbsession = $facebook->getSession(); //works fine
  $this->session->set_userdata('facebook', serialize($facebook);

Теперь я хотел бы получить этот объект facebook в другом контроллере.

//Controller 2 
$facebook = unserialize($this->session->userdata('facebook'));               
$fbsession = $facebook->getSession();

Выдает ошибку: вызов неопределенного метода getSession. Поэтому я больше смотрю на сериализацию и думаю, что, возможно, она просто не знает, каковы атрибуты объекта facebook.

Итак, я добавляю

$this->load->plugin('facebook');

Также к контроллеру 2, и я получаю «Невозможно повторно объявить класс facebook». Я сильно подозреваю, что я неправильно понимаю сессии здесь. Должен ли я как-то сказать PHP, что это за объект? Спасибо за помощь.

1 Ответ

0 голосов
/ 23 мая 2010

Оказывается, я сделал очень глупую ошибку новичка. Мой второй контроллер был назван Facebook! Это немного неловко ....

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