2009-09-20 10 views
6

Gibt es einen PHP-Validator wie es einen HTML-Validator auf w3.org gibt?Gibt es einen PHP-Validator?

+6

was zu validieren? PHP-Syntax? Sie erhalten einen Parsing-Fehler, wenn die Syntax ungültig ist. – Gumbo

+0

Ich denke, er ist auf der Suche nach etwas wie "Lint for PHP". Diese Frage wurde bereits hier gestellt: siehe http://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files insbesondere PHPlint (http://www.icosaedro.it/phplint/) sieht vielversprechend aus. – bart

Antwort

2

PHP-Engine selbst.

So schalten Sie Fehlermeldungen:

error_reporting(E_ALL); 
9

Sie PHP mit der Flagge -l oder --syntax-check laufen kann. Es überprüft die Syntax der Datei geliefert, ohne es tatsächlich

php --syntax-check myfile.php 
16

laufen Sie die Syntax ohne einen PHP-Skript selbst, validieren können php von der Befehlszeile mit der Option „-l“ mit:

$ 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) 
    ... 

Zum Beispiel mit einer Datei, die enthält:

<?php 

, 


die; 

?> 

(Beachten Sie die offensichtlichen Fehler)

Sie erhalten:

$ 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 


diesen Prozess in einem Build Integration oder als pre-commit, SVN Haken ist schön, btw: es hilft ^^

2

Gebäude mit Syntaxfehler in der Produktion zu vermeiden, was andere gesagt haben:

error_reporting(E_ALL); 

Die Verwendung von PHP eigenen Fehlermeldungen ist gut genug. Wenn Sie jedoch wirklich anal werden und einen Satz "Standard" verwenden möchten, können Sie sich für eine entscheiden, die Sie zum Beispiel als Pre-Commit-Hooks in Ihr Versionskontrollsystem implementieren können.

Hier ist eine Frage SO, die ihre Nützlichkeit erklärt: How useful is PHP CodeSniffer? Code Standards Enforcement in General?