PHP получить результаты одной функции в другую - PullRequest
1 голос
/ 26 декабря 2011

У меня есть эта функция

function getTwitterAuth($user_id) {
$d = "SELECT * FROM `twitterAccounts` WHERE `user_id`='".$user_id."'";
$dr=mysql_query($d) or die("Error selecting twitter account: ".mysql_error());
$drow = mysql_fetch_assoc($dr);
**$twitter_auth_token** = $drow['oauth_token'];
**$twitter_auth_secret** = $drow['oauth_token_secret']
}

Она скажет мне результат двух переменных, которые мне нужно будет передать затем другой функции:

function twitterReply($twitter_message, $reply_to_id) {
$twitterObj->setToken(**$twitter_auth_token**, **$twitter_auth_secret**);
$twitter_user = $twitterObj->get_accountVerify_credentials();
try{  
$twitter_user->id;
$twitterObj->post_statusesUpdate(array("status" => $message, "in_reply_to_status_id" => $reply_to_id); 
//echo "done";
}
catch(EpiTwitterException $e){}  
}

Как мне это сделатьЭто??

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 26 декабря 2011
function getTwitterAuth($user_id) {
  $d = "SELECT * FROM `twitterAccounts` WHERE `user_id`='".$user_id."'";
  $dr=mysql_query($d) or die("Error selecting twitter account: ".mysql_error());
  $drow = mysql_fetch_assoc($dr);
  $twitter_auth_token = $drow['oauth_token'];
  $twitter_auth_secret = $drow['oauth_token_secret'];
  return Array("token" =>  $twitter_auth_token, "secret" => $twitter_auth_secret);
}

function twitterReply($twitter_auth_token, $twitter_auth_secret, $twitter_message, $reply_to_id) {
  $twitterObj->setToken($twitter_auth_token, $twitter_auth_secret);
  $twitter_user = $twitterObj->get_accountVerify_credentials();
  try{  
    $twitter_user->id;
    $twitterObj->post_statusesUpdate(array("status" => $message, "in_reply_to_status_id" => $reply_to_id); 
    //echo "done";
  }
    catch(EpiTwitterException $e){}  
}

$res = getTwitterAuth($user_id);
twitterReply($res["token"], $res["secret"], $twitter_message, $reply_to_id);

Редактировать: Как видно из другого ответа, установка $ twitter_auth_token и $ twitter_auth_secret является избыточной, к которой могут быть добавлены последние три строки функции getTwitterAuth:

return Array("token" =>  $drow['oauth_token'], "secret" => $drow['oauth_token_secret']);
1 голос
/ 26 декабря 2011
function getTwitterAuth($user_id) {

$d = "SELECT * FROM `twitterAccounts` WHERE `user_id`='".$user_id."'";
$dr=mysql_query($d) or die("Error selecting twitter account: ".mysql_error());
$drow = mysql_fetch_assoc($dr);
$array = array();
$array['twitter_auth_token'] = $drow['oauth_token'];
$array['twitter_auth_secret'] = $drow['oauth_token_secret'];
return $array
}

$twitterTokens = getTwitterAuth($user_id);

Теперь вы можете получить доступ к этим значениям, используя $ twitterTokens ['twitter_auth_token'] и $ twitterTokens ['twitter_auth_secret']

0 голосов
/ 26 декабря 2011

Как сказал вышеупомянутый человек,

function getTwitterAuth($user_id) {
....
**$twitter['auth_token']** = $drow['oauth_token'];
**$twitter['auth_secret']** = $drow['oauth_token_secret'];
return($twitter);
}

function twitterReply($twitter,$twitter_message, $reply_to_id) {
$twitterObj->setToken(**$twitter['auth_token']**, **$twitter['auth_secret']**);
...
}

$twitter_info = getTwitterAuth($user_id);
twitterReply($twitter_info, $twitter_message, $reply_to_id)
...