繁体   English   中英

Php function 变量传递

[英]Php function variable passing

如何让 function is_twitter_logged_in() 识别在之前的 function 中分配的变量 $Twitter?

function twitter_logged_in($twitter_user) 
{
global $consumer_key; 
global $consumer_secret; 

$Twitter = new EpiTwitter($consumer_key, $consumer_secret);

if(isset($_GET['oauth_token']) || (isset($_COOKIE['oauth_token']) && isset($_COOKIE['oauth_token_secret'])))
{
  // user has signed in
  if( !isset($_COOKIE['oauth_token']) || !isset($_COOKIE['oauth_token_secret']) )
{
    // user comes from twitter
            // send token to twitter
    $Twitter->setToken($_GET['oauth_token']);
           // get secret token
    $token = $Twitter->getAccessToken();
            // make the cookies for tokens
    setcookie('oauth_token', $token->oauth_token);
    setcookie('oauth_token_secret', $token->oauth_token_secret);
           // pass tokens to EpiTwitter object
    $Twitter->setToken($token->oauth_token, $token->oauth_token_secret);

}
else
{
 // user switched pages and came back or got here directly, stilled logged in
    // pass tokens to EpiTwitter object

 $Twitter->setToken($_COOKIE['oauth_token'],$_COOKIE['oauth_token_secret']);
    }
}
elseif (isset($_GET['denied'])) {
 // user denied access
 echo 'You must sign in through twitter first';
}
else {
// user not logged in
     echo 'You are not logged in';
}
global $Twitter;

$twitter_user= $Twitter->get_accountVerify_credentials();
// show screen name (not real name)
echo $twitter_user->screen_name;
// show profile image url
//$twitter_image = $user->profile_image_url;
return $Twitter;
}

function is_twitter_logged_in($Twitter) {
global $Twitter;
$twitter_user = $Twitter;
if ( $twitter_user->screen_name == '' ){return false;}
    else {return true;}
}

$Twitter必须首先在 function scope 之外定义,然后可以使用global $Twitter在函数中引用它,并且is_twitter_logged_in()甚至不使用$Twitter

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM