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