getjump / VkApiPHP

[Abandoned] Library for work with API Vk.com
MIT License
201 stars 53 forks source link

Исключение "Cannot use object of type stdClass as array" #27

Open Qwarble opened 7 years ago

Qwarble commented 7 years ago

При попытке вызвать метод photos.getUploadServer как через обертку, так и через функцию one() возникает исключение, так как результат stdClass, а не array, а обращение идет как к элементу массива. Пример кода:

$vk = getjump\Vk\Core::getInstance()->apiVersion('5.5')->setToken('token');
$p = new getjump\VK\Wrapper\Photos($vk);
var_dump($p->getUploadServer($album_id, $group_id));

Место, где возникает исключение: getjump/Vk/Response/Response.php:112

public function get($id = false)
    {
        if (!$id) {
            if (is_array($this->data)) {
                return $this->data[0];
            } elseif (isset($this->items) && $this->items !== false) {
                return $this->items[0];
            } else {
                return $this->data;
            }
        } else {
            return $this->data[$id];
        }
    }

Возможно пропущен второй параметр в json_decode, который преобразовывал бы json в массив RequestTransaction.php:161

$data = json_decode($data);