0
我試圖做出CakePHP的Twitter的組成部分,所以我可以登錄與Twitter並最終讓我的用戶張貼到Twitter爲好,這是我的組件:CakePHP的 - Twitter的組件
<?php
class TwitterHelperComponent extends Object {
var $name = 'TwitterHelper';
var $twitterObj;
function __construct() {
parent::__construct();
require_once(APP.'vendors/twitter/EpiCurl.php');
require_once(APP.'vendors/twitter/EpiOAuth.php');
require_once(APP.'vendors/twitter/EpiTwitter.php');
$this->twitterObj = new EpiTwitter(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
}
function setOAuthToken($oauth_token) {
$this->twitterObj->setToken($oauth_token);
$token = $this->twitterObj->getAccessToken();
$this->twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);
return $twitter;
}
}
?>
而且在我的bootstrap.php中的文件I放入下列:
define('TWITTER_CONSUMER_KEY', '*******');
define('TWITTER_CONSUMER_SECRET', '********');
以我控制器I設置twitterObj給視圖:
function home(){
$this->layout = 'home';
$this->set('twitter', $this->TwitterHelper->twitterObj);
}
在我看來,我做到以下幾點:
<a class='twitter-button' href='<?php echo $twitter->getAuthenticateUrl(); ?>'></a>
不過,我會在我的twitterObj
觀點未定義的變量警告。我正在使用this Twitter的PHP庫:
此外,我的整個界面只是失去了重點,當我嘗試獲取URL時,它會失去所有樣式。
問題似乎是twitterObj沒有得到實例化,因爲我得到調用成員函數getAuthenticateUrl()在非對象錯誤 – 8vius
不知道爲什麼會發生。如果你沒有得到任何其他錯誤,你不會打電話給你認爲你在打電話,因爲我上面看到的代碼應該實例化。 – Utoxin
好吧,我拿出了__contruct函數,並且創建了一個函數,它將實例化twitterObj,並且我沒有定義類EpiTwitter,好像構造函數沒有做任何事情,並且之後App :: import不是做任何事情,因爲我用require_once替換了App :: imports並且它工作,好吧,它現在可以工作,因爲我現在有一個URL – 8vius