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.