На что ругается PHP?

Переношу копию кода на другой сервер, где версия PHP 5.3.29 и появляется ошибка (при этом на версии PHP 7.4.10 всё работает):

PHP Parse error:  syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM in ПУТЬ_ДО_ФАЙЛА.php on line 89
protected static function getSettingData($wannaCurrentUser = false)
{
    $return = array();
    if (file_exists(__DIR__ . '/settings.json')) {
        $return = parent::expandData(file_get_contents(__DIR__ . '/settings.json'));
        // if (defined("C_REST_CLIENT_ID") && !empty(C_REST_CLIENT_ID)) $return['C_REST_CLIENT_ID'] = C_REST_CLIENT_ID;
        if (defined("C_REST_CLIENT_SECRET") && !empty(C_REST_CLIENT_SECRET)) $return['C_REST_CLIENT_SECRET'] = C_REST_CLIENT_SECRET;
        if ($wannaCurrentUser) {
            $return['access_token'] = htmlspecialchars($_REQUEST['AUTH_ID']);
            $return['domain'] = htmlspecialchars($_REQUEST['DOMAIN']);
            $retunr['client_endpoint'] = 'https://' . htmlspecialchars($_REQUEST['DOMAIN']) . '/rest/';
        }
    }
    return $return;
}

Строка с ошибкой та, которая закомментирована if (defined("C_REST_CLIENT_ID") && !empty(C_REST_CLIENT_ID)) $return['C_REST_CLIENT_ID'] = C_REST_CLIENT_ID;


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

Автор решения: ITPOV

Ошибка легко гуглиться :) Это из официальный доков

Оператор разрешения области действия (также называемый Paamayim Nekudotayim) или в более простые термины, двойное двоеточие, это маркер, который позволяет получить доступ к статические, постоянные и переопределенные свойства или методы класса. При обращении к этим элементам из-за пределов определения класса используйте имя класса. Начиная с PHP 5.3.0, можно ссылаться на класс, используя a переменная. Значение переменной не может быть ключевым словом (например, self, parent и статика). Паамаим Некудотаим, на первый взгляд, покажется странным выбором для называя двойное двоеточие.

→ Ссылка