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