PhpStorm: получить предупреждения проверки кода для «методов с тем же именем, что и их класс, не будут конструкторами».

Хорошо, я наконец перешел на PHP7. Мой код немного старый и будет отремонтирован. Некоторые из проблем:

class MagicClass
function MagicClass(){
//etc
}

Что дает предупреждение об устаревании во время исполнения:

Устаревший: методы с тем же именем, что и их класс, не будут
конструкторы в будущей версии PHP; MagicClass имеет устаревший
конструктор в

Это хорошо:

class MagicClass
function __construct(){
//etc
}

Как я могу получить проверку кода PhpStorm, чтобы предупредить меня о таких ошибках в моей текущей кодовой базе?

4

Решение

Не похоже, что PhpStorm v10 поддерживает этот конкретный случай. У него есть проверка «Совместимости с PHP 7», но он никак не помечает этот код (независимо от того, какой уровень языка вы выберете — будь то 5.6 или 7).

Решение заключается в установке Плагин «Php Inspection (EA Extended)» — у него есть такая проверка, и он будет работать, даже если вы выберете 5.x в качестве уровня языка PHP.

Пожалуйста, обратите внимание: этот плагин имеет много проверок, некоторые из которых вы можете считать неправильными / бесполезными и т. д., поэтому вам может потребоваться пройти каждую дополнительную проверку, предоставляемую этим плагином, и отключить ее при необходимости.

3

Другие решения

в Preferences (на OSX) или Settings (в Windows & Linux) диалоговое окно выбора Languages & Frameworks -> PHP в списке слева, затем проверьте PHP language level выпадающий список. Если твой PhpStorm не очень старый, тогда вы должны иметь версию PHP 7 в этом списке.

PhpStorm использует выбранную версию PHP для проверки вашего кода на наличие синтаксических проблем. Для этого не нужно устанавливать указанную версию PHP (я думаю, она поставляется с переводчиками).

После выбора версии PHP перейдите к Editor->Inspections (также в левой части Preferences/Settings окно), то с правой стороны убедитесь, что PHP -> General -> Language Level осмотр проверен. В его описании говорится:

Проверяет, что языковые функции, используемые в исходном коде, соответствуют выбранному языковому уровню. (то есть черты могут быть использованы только в PHP 5.4). Требуемый уровень языка задается в конфигурации проекта (Project Settings | PHP).

Обновить

Видимо, текущие версии PhpStorm не решает эту конкретную проблему. Я протестировал его с EAP версий 9.0.2, 10.0.3 и 11, и никто из них не жаловался на конструкторы в стиле PHP4.

Похоже, что проверка уровня языка фокусируется на использовании новых функций PHP больше, чем на устаревших.

1

Начиная с PhpStorm 2017.1, есть встроенная проверка, называемая «Конструктор старого стиля».

введите описание изображения здесь

введите описание изображения здесь

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector