PHP лучше проверяет синтаксис во время редактирования - PullRequest
0 голосов
/ 15 декабря 2018

Я работаю над небольшим проектом на PHP с использованием Eclipe PDT.

Я теряю много времени, потому что ошибки при вводе не приводят ни к ошибкам, ни к предупреждениям во время редактирования.Это означает, что я получаю ошибки во время выполнения (легко) или нет (трудно отлаживать).

Я хотел бы привести несколько примеров:

Ошибка при вызове функции

$ret = $this->getListOfUniqueNames();

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

История меняется, если вы используете классы с интерфейсами, где помощь по содержимому не всегда доступна.

Пример 1:() отсутствует

$s = $this->mDataClass->getSchedule;

В этом звонке я забыл ().PHP не вызывает ошибку редактирования или неопределенную константу, поэтому эта ошибка возникает во время выполнения.

Пример 2: неопределенная функция

$s = $this->mDataClass->getSchedule();

Это вызов неопределенной функции.Это должен был быть getScheduleList ().

Пример 3: неопределенная переменная

$this-mVarTypingError = "abc";

Это фактически создает новую переменную в расширенном подклассе.Может быть предотвращено с помощью __set в верхнем классе, но я не думаю, что это хорошая практика - создавать код для предотвращения ошибок при наборе.

Я не мог понять, будет ли

declare(strict_types = 1); 

полезным.

Итак, мой вопрос: что я могу сделать, чтобы предотвратить такие ошибки при печати, которые выявляются в Java во время компиляции?Я скорее определяю все свои переменные, затем ищу ошибки, потому что я этого не сделал.

1 Ответ

0 голосов
/ 15 декабря 2018

Используйте IDE.Лично я фанат PHPStorm (хотя я не связан с компанией, которая его создала).Он уловит 100% этих проблем на лету и многое, многое другое.

...