会话,PHP 不完整类
我正在使用 cakePHP 2.x.目前正在做 Twitter OAuth,http://code.42dh.com/oauth/.>
I am using cakePHP 2.x . Currently doing about the twitter OAuth, http://code.42dh.com/oauth/.
function twitter_authentication()
{
//assume above coding is all correct.
$this->Session->write('twitter_request_token', ($requestToken));
$this->redirect('http://api.twitter.com/oauth/authenticate?force_login=true&oauth_token='.$requestToken->key); //I able to get $requestToken.
}
function twitter_login()
{
$requestToken = $this->Session->read('twitter_request_token');
$accessToken = $this->OAuthConsumer->getAccessToken('Twitter','https://api.twitter.com/oauth/access_token', $requestToken);
在 function_login() 中,我无法读取会话并以 PhP Incomplete Class 告终.如果我做 $this->Session->write('twitter_request_token', serialize($requestToken));
和 $requestToken = $this->Session->read(unserialize('twitter_request_token');
它可以工作,但我会在其他地方因使用序列化和反序列化会话而导致错误.
At function_login(), I failed to read session and ended up with PhP Incomplete Class. If I do $this->Session->write('twitter_request_token', serialize($requestToken));
and $requestToken = $this->Session->read(unserialize('twitter_request_token');
it will work, but I will ended up error at other places which caused by using serialize and unserialize session.
推荐答案
PHP 不完整的类"意味着 PHP 没有您正在加载的对象的类定义.
"PHP Incomplete Class" means PHP doesn't have a class definition for the object you're loading.
选项 A:在将对象写入会话时弄清楚该对象是什么类,并确保在加载对象之前加载类的定义.
Option A: figure out what class that object is when you write it into the session and ensure that class's definition is loaded before loading the object.
选项B:在写入之前将对象转换为stdClass
或数组,并在加载后转换回来.这可能比第一个选项更复杂.
Option B: convert the object to an stdClass
or array before writing it, and convert back after loading. This might be more complex than the first option.
相关文章