私は Laravel 4 を使用しています。ここにこのコードがあります。
http://demo.php-pastebin.com/2sfuOUE7
最初の行の上に、別のクラス ファイルをインクルードする行があります (CHPPConnection は、OAuth 1.0 を簡単に実装するためのライブラリで、http://pht.htloto.orgにあります) 。
これは、そのライブラリの retrieveAccessToken メソッドのコードです。
/**
* Get access token for chpp application
*
* @param String $oauthToken
* @param String $verifier
*/
public function retrieveAccessToken($oauthToken, $verifier)
{
$params = array(
'oauth_consumer_key' => $this->consumerKey,
'oauth_signature_method' => $this->signatureMethod,
'oauth_timestamp' => $this->getTimestamp(),
'oauth_nonce' => $this->getNonce(),
'oauth_token' => $oauthToken,
'oauth_verifier' => $verifier,
'oauth_version' => $this->version
);
$signature = $this->buildSignature(self::OAUTH_SERVER.self::ACCESS_URL, $params, $this->oauthFirstTokenSecret);
$params['oauth_signature'] = $signature;
uksort($params, 'strcmp');
$url = $this->buildOauthUrl(self::OAUTH_SERVER.self::ACCESS_URL, $params);
if($this->canLog())
{
$this->log("[OAUTH] Access url: ".$url);
}
$return = $this->fetchUrl($url, false);
$result = explode('&', $return);
foreach($result as $val)
{
$t = explode('=', $val);
$$t[0] = urldecode($t[1]);
}
if(isset($oauth_token))
{
$this->setOauthToken($oauth_token);
if($this->canLog())
{
$this->log("[OAUTH] Access token: ".$oauth_token);
}
}
if(isset($oauth_token_secret))
{
$this->setOauthTokenSecret($oauth_token_secret);
if($this->canLog())
{
$this->log("[OAUTH] Access token secret: ".$oauth_token_secret);
}
}
}
コードが機能しないのはなぜですか? __constructorメソッドでは必要な結果が返されるのに、somethingメソッドでは返されないのはなぜですか? この場合、継承がどのように機能するかを間違って理解している可能性があるので、助けてください!