PDA

Просмотр полной версии : PHP валидатор или как проверить php код на наличие ошмбок с помощю PHP


TBicTep
22.06.2009, 09:38
Вот собствена нечё в голову не лезит. Подскажите

wildshaman
22.06.2009, 09:48
Лучший валидатор - это браузер (с)Лебедев
Запускай свой код и смотри на ошибки :)

TBicTep
22.06.2009, 09:58
С етим не спорю. Ну всё таки мне нужна проверить код по средствам php

m0Hze
22.06.2009, 10:03
Debuger> oO

wildshaman
22.06.2009, 10:03
Насколько я знаю, это невозможно.

FireFenix
22.06.2009, 10:48
error_get_last() и $php_errormsg в помощь

wildshaman
22.06.2009, 10:50
error_get_last() и $php_errormsg в помощь
ТС, как мне каежтся, имеет в виду скрипт на php, который будет проверять заданный ему php файл на наличие ошибок о_о

FireFenix
22.06.2009, 10:53
Ну это было в помощь :)

Вот можно прицепить свой обработчик ошибок set_error_handler();
http://ua.php.net/manual/en/function.set-error-handler.php

Krist_ALL
22.06.2009, 12:19
Если имеется в виду отловить синтаксические ошибки, то нужно использовать специальные редакторы, А НЕ БЛОКНОТ как многие.
Я например пользуюсь Notepad++. Хорошая подсветка синтаксиса. Ошибся ты например в слове foreach, оно и не стало синим а серым стало)
а логику никакая программа не проверит. ОТкуд программа знает что ты хотел накодить.

FireFenix
22.06.2009, 12:23
Если имеется в виду отловить синтаксические ошибки, то нужно использовать специальные редакторы, А НЕ БЛОКНОТ как многие.
Я например пользуюсь Notepad++. Хорошая подсветка синтаксиса. Ошибся ты например в слове foreach, оно и не стало синим а серым стало)
а логику никакая программа не проверит. ОТкуд программа знает что ты хотел накодить.
Поверь, текстовый интерпритатор/компилятор знает все твои ошибки синтаксиса

oRb
22.06.2009, 12:24
php_check_syntax() (http://ru.php.net/manual/ru/function.php-check-syntax.php) или, используя program execution функции (http://ru.php.net/manual/ru/ref.exec.php), выполнить php -l file.php

TBicTep
22.06.2009, 13:58
Чот не пойму как воспользоватса set_error_handler()

php_check_syntax() идеальна б подошол но увы ево удалил из php

FireFenix
22.06.2009, 14:06
Чот не пойму как воспользоватса set_error_handler()
А что там непонятного? Пишешь функцию обработчика, потом в нужном месте кода подключешь эту функцию через set_error_handle('имя вашей функции')
После выполнения кода если нужно - обратно возвращешь стандартный обработчик restore_error_handler();
Список передаваемых параметров при ошибке в функцию - можно посотреть в мануале, где собсно ниже и примеры реализации
http://ua.php.net/manual/ru/function.set-error-handler.php

По аналогии ещё есть exception_handler
http://ua.php.net/manual/ru/function.set-exception-handler.php

TBicTep
22.06.2009, 16:32
А что там непонятного? Пишешь функцию обработчика, потом в нужном месте кода подключешь эту функцию через set_error_handle('имя вашей функции')
После выполнения кода если нужно - обратно возвращешь стандартный обработчик restore_error_handler();
Список передаваемых параметров при ошибке в функцию - можно посотреть в мануале, где собсно ниже и примеры реализации
http://ua.php.net/manual/ru/function.set-error-handler.php
/URL]
Зделал всё так как там. Но при таком коде
echo' ";
Реакцыи скрипта при етом нет