PHP(CodeIgniter)通过会话传递对象

时间:2010-05-23 01:04:42

标签: php facebook codeigniter session

我正在使用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 :(得分:0)

原来我犯了一个非常愚蠢的初学者错误。我的第二个控制器被命名为Facebook!这有点令人尴尬......