Как я могу использовать библиотеку Zend, в частности класс twitter с codeigniter? - PullRequest
1 голос
/ 11 апреля 2011

Я пытаюсь использовать службу Twitter Zend в codeigniter.

Я использовал следующий метод для интеграции Zend http://www.beyondcoding.com/2008/02/21/using-zend-framework-with-codeigniter/

Я могу успешно завершить аутентификацию Oauth и получитьдействительный токен доступа из твиттера, и моя страница обратного вызова работает нормально, но когда я пытаюсь сделать запрос, я получаю следующую ошибку:

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 голосов
/ 12 апреля 2011

Эта ошибка не связана напрямую с 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 успешен.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...