我正在使用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它是什么类型的对象?谢谢你的帮助。
答案 0 :(得分:0)
原来我犯了一个非常愚蠢的初学者错误。我的第二个控制器被命名为Facebook!这有点令人尴尬......