PHP: Обнаружить ошибки типа «неопределенная функция» перед выполнением? - PullRequest
3 голосов
/ 24 февраля 2009

Существует ли какой-либо инструмент, который поможет обнаружить потенциальные ошибки, такие как "неопределенная функция" в скрипте PHP до времени выполнения?

Например, рассмотрим:

<?php
zarfnutz ( 'blah' );
?>

Если вы попросите интерфейс командной строки PHP проверить наличие синтаксических ошибок, он ответит, что их нет. Но, конечно, скрипт не удастся, если вы попытаетесь запустить его, потому что нет функции с именем "zarfnutz".

Я понимаю, что если язык достаточно самореференциальный, буквально невозможно создать такой инструмент, который гарантированно точен (я не знаю, достаточно ли PHP самоссылочный). Но в любом случае, безусловно, мог бы быть инструмент, который мог бы по крайней мере предупредить , что "zarfnutz" может быть неопределенным, и такой инструмент будет очень полезен для меня. *

Кто-нибудь знает один?

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 24 февраля 2009

Я считаю, что это одна из особенностей PHPLint .

0 голосов
/ 24 февраля 2009

Способ проверки заключается в использовании function_exists(). Это не так гибко, как проверка с помощью php -l, но это сделает работу.

0 голосов
/ 24 февраля 2009

Запустите php для файла с флагом lint (только проверка синтаксиса):

php -l FILE
0 голосов
/ 24 февраля 2009

Ну, я не знаю инструмента для этого, но function_exists и get_defined_functions являются частью ядра PHP.

...