Просмотр полной версии : PHP валидатор или как проверить php код на наличие ошмбок с помощю PHP
Вот собствена нечё в голову не лезит. Подскажите
wildshaman
22.06.2009, 09:48
Лучший валидатор - это браузер (с)Лебедев
Запускай свой код и смотри на ошибки :)
С етим не спорю. Ну всё таки мне нужна проверить код по средствам php
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, оно и не стало синим а серым стало)
а логику никакая программа не проверит. ОТкуд программа знает что ты хотел накодить.
Поверь, текстовый интерпритатор/компилятор знает все твои ошибки синтаксиса
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
Чот не пойму как воспользоватса 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
А что там непонятного? Пишешь функцию обработчика, потом в нужном месте кода подключешь эту функцию через set_error_handle('имя вашей функции')
После выполнения кода если нужно - обратно возвращешь стандартный обработчик restore_error_handler();
Список передаваемых параметров при ошибке в функцию - можно посотреть в мануале, где собсно ниже и примеры реализации
http://ua.php.net/manual/ru/function.set-error-handler.php
/URL]
Зделал всё так как там. Но при таком коде
echo' ";
Реакцыи скрипта при етом нет
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot