Я использую 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, что это за объект? Спасибо за помощь.