PHP:Обнаруживать ошибки типа “неопределенная функция” до выполнения?
Вопрос
Есть ли какой-либо инструмент, который поможет обнаружить потенциальные ошибки, такие как "неопределенная функция" в PHP-скрипте до того , как время выполнения?
Например, рассмотрим:
<?php
zarfnutz ( 'blah' );
?>
Если вы попросите интерфейс командной строки PHP проверить это на наличие синтаксических ошибок, он ответит, что их нет.Но, конечно, скрипт завершится неудачей, если вы попытаетесь его запустить, потому что в нем нет функции с именем "zarfnutz".
Я понимаю, что если язык достаточно самореферентен, буквально невозможно создать такой инструмент, который был бы гарантированно точным (я не знаю, действительно ли PHP достаточно самореферентен).Но в любом случае, определенно мог бы существовать инструмент, который мог бы, по крайней мере предупредить ты что, "зарфнутц" мог бы быть неопределенным, и такой инструмент был бы мне очень полезен.
Кто-нибудь знает о таком?
Заранее благодарю.
Решение
Я считаю, что это одна из особенностей PHPLint ( фплинт ).
Другие советы
Ну, я не знаю ни о каком инструмент чтобы сделать это, но function_exists
и get_defined_functions
являются частью ядра PHP.
Запустите php для файла с флагом lint (только проверка синтаксиса):
php -l FILE
Способ проверить - это использовать function_exists()
.Это не так гибко, как проверка через php -l, но она выполнит свою работу.