неожиданный «класс» (T_CLASS) только на удаленном (не локальном) [дубликате]

    

На этот вопрос уже есть ответ здесь:

    

Мы разрабатываем CRM.

В локальном режиме у меня нет проблем, но в удаленном (OVH) появляется следующее сообщение об ошибке:

  

Ошибка разбора: синтаксическая ошибка, неожиданный «класс» (T_CLASS), ожидаемый идентификатор (T_STRING) или переменная (T_VARIABLE) или «{» или «$» в /home/dubinfo/www/CRM/model/Locataire.php по строке 126

Это код:

public function setVisites($visites) {
    $this->_visites = CheckTyper::isArrayOfModel($visites,
            VisiteMaisonInvestisseur::class, 'visites', __CLASS__);
}

Версия PHP на удаленном хосте (OVH) - 5.4.38

12 голосов | спросил user3553866 25 AMpSat, 25 Apr 2015 10:54:06 +030054Saturday 2015, 10:54:06

2 ответа


0

Использование class в качестве имени константы доступно только в PHP 5.5.

Чтобы получить имя класса, вы можете заменить VisiteMaisonInvestisseur::class на get_class(new VisiteMaisonInvestisseur)

Или измените имя константы. Например: VisiteMaisonInvestisseur::class_name.

ответил Amir 25 AMpSat, 25 Apr 2015 11:38:16 +030038Saturday 2015, 11:38:16
0

Проблема в VisitMaisonInvestisseur::class. class - зарезервированное слово в PHP, поэтому его нельзя использовать в качестве имени константы.

Если он работает на вашем локальном сервере, он должен зависеть от версии. Но я проверял это в 5.3 и 5.6, и они оба сообщают об ошибке для Classname::class.

ответил Barmar 25 AMpSat, 25 Apr 2015 11:12:54 +030012Saturday 2015, 11:12:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132