我怎样才能使用Zend库,特别是带有codeigniter的twitter类?

时间:2011-04-11 13:54:24

标签: php zend-framework codeigniter twitter

我正在尝试在codeigniter中使用Zend twitter服务。

我使用以下方法来集成zend http://www.beyondcoding.com/2008/02/21/using-zend-framework-with-codeigniter/

我可以成功完成Oauth身份验证并从twitter接收有效的访问令牌,我的回调页面工作正常,但当我尝试发出请求时,我收到以下错误:

Message: Undefined offset: 0

Filename: Client/Result.php

Line Number: 232

我正在加载这样的twitter类:

$this->load->library('zend');
$this->zend->load('Zend/Service/Twitter');

我不确定我是否应该加载任何其他东西,或者我做错了什么。

我正在使用Codeigniter 2.0.2和ZendFramework 1.11.4

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

此错误似乎与CodeIgniter和Zend没有直接关系。查看第232行的代码,我可以看到这个

return (string) $result[0];

这是在以下功能

/**
 * toString overload
 *
 * Be sure to only call this when the result is a single value!
 *
 * @return string
 */
public function __toString()
{
    if (!$this->getStatus()) {
        $message = $this->_sxml->xpath('//message');
        return (string) $message[0];
    } else {
        $result = $this->_sxml->xpath('//response');
        if (sizeof($result) > 1) {
            return (string) "An error occured.";
        } else {
            return (string) $result[0];
        }
    }
}

$result似乎不是一个数组 - 说实话,这似乎不是一个经过深思熟虑的功能。尝试查看问题Zend/Rest/Client/Result.php中的类,看看$result是什么,以及对Twitter的调用是否真正成功。

希望有所帮助。