PHP 7.3 , Cannot use 'Object' as class name as it is reserved in

<?php

namespace EasyPost;

class Object implements \ArrayAccess, \Iterator
{
    /**
     * Iterator methods
     *
     * @return bool
     */
    public function valid()
    {
        $key = key($this->_values);
        return ($key !== NULL && $key !== FALSE);
    }

    /**
     * convert object to JSON
     *
     * @return string
     */
    public function __toJSON()
    {
        if (defined('JSON_PRETTY_PRINT')) {

            return json_encode($this->__toArray(true), JSON_PRETTY_PRINT);
        }

        return json_encode($this->__toArray(true));
    }

    /**
     * convert object to a string
     *
     * @return string
     */
    public function __toString()
    {
        return $this->__toJSON();
    }

    /**
     * convert object to an array
     *
     * @param bool $recursive
     * @return array
     */
    public function __toArray($recursive = false)
    {
        if ($recursive) {
            return Util::convertEasyPostObjectToArray($this->_values);
        }

        return $this->_values;
    }
}

У меня есть данный класс, но на PHP версии 7.3, я получаю ошибку

PHP Fatal error:  Cannot use 'Object' as class name as it is reserved in vendor/EasyPost/Object.php on line 5

На версии php 7.1 все работает хорошо

Как правильно исправить ошибку?


Ответы (1 шт):

Автор решения: Мелкий

Прямым текстом так и задокументировано в списках изменений PHP 7.2:

Имя object ранее было мягко зарезервировано с PHP 7.0. Теперь оно полноценное зарезервированное слово, запрещающее использовать его в качестве имени класса, трейта или интерфейса.

Вам придётся переименовать класс если хотите использовать более новые версии PHP.

→ Ссылка