Есть ли валидатор PHP? - PullRequest
       10

Есть ли валидатор PHP?

6 голосов
/ 20 сентября 2009

Есть ли валидатор PHP, как и валидатор HTML на w3.org?

?

Ответы [ 4 ]

16 голосов
/ 20 сентября 2009

Вы можете проверить синтаксис без запуска самого скрипта PHP , используя php из командной строки, с параметром "-l":

$ php --help 
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]  
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a
  ...
  -l               Syntax check only (lint)
  ...

Например, с файлом, который содержит:

<?php

,


die;

?>

(обратите внимание на очевидную ошибку)

Вы получите:

$ php -l temp.php
PHP Parse error:  syntax error, unexpected ',' in temp.php on line 3

Parse error: syntax error, unexpected ',' in temp.php on line 3
Errors parsing temp.php


Интеграция этого в процесс сборки , или в качестве ловушки SVN перед фиксацией, это хорошо, кстати: это помогает избежать синтаксических ошибок в работе ^^

9 голосов
/ 20 сентября 2009

Вы можете запустить php с флагом -l или --syntax-check. Он проверяет синтаксис предоставленного файла, фактически не запуская его

php --syntax-check myfile.php
2 голосов
/ 20 сентября 2009

Основываясь на том, что говорили другие:

error_reporting(E_ALL);

Достаточно просто использовать собственные сообщения об ошибках PHP. Однако, если вы действительно хотите получить анальный и использовать набор «стандарт», вы можете выбрать PHP Code Sniffer , который, например, вы можете реализовать в качестве хуков предварительной фиксации в вашей системе управления версиями.

Вот такой вопрос, который объясняет их полезность: Насколько полезен PHP CodeSniffer? Применение стандартов кодекса в целом?

2 голосов
/ 20 сентября 2009

Сам движок PHP.

Чтобы включить сообщения об ошибках:

error_reporting(E_ALL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...