C'è un validatore PHP come se esistesse un validatore HTML su w3.org?Esiste un validatore PHP?
risposta
Motore PHP stesso.
Per attivare i messaggi di errore:
error_reporting(E_ALL);
È possibile eseguire PHP con il flag -l
o --syntax-check
. Esso controlla la sintassi del file fornito senza effettivamente eseguirlo
php --syntax-check myfile.php
È possibile convalidare la sintassi senza eseguire uno script PHP per sé, utilizzando php
dalla riga di comando, con l'opzione "-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)
...
Ad esempio, con un file che contiene:
<?php
,
die;
?>
(Si noti l'evidente errore)
Otterrete:
$ 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
L'integrazione di questo in un processo di generazione, o come pre-commit hook SVN, è bello, btw: si aiuta a evitare errori di sintassi che hanno nella produzione ^^
Basandosi su ciò che altri hanno detto:
error_reporting(E_ALL);
Usare semplicemente i messaggi di errore di PHP è abbastanza buono. Tuttavia, se vuoi davvero ottenere l'anale e utilizzare un set "standard" puoi optare per uno PHP Code Sniffer, che ad esempio puoi implementare come hook pre-commit al tuo sistema di controllo della versione.
Ecco una domanda SO che spiega la loro utilità: How useful is PHP CodeSniffer? Code Standards Enforcement in General?
- 1. Esiste un validatore URL su .Net?
- 2. Esiste un'annotazione del validatore uuid?
- 3. validatore di sintassi markdown
- 4. Esiste un omniauth per php?
- 5. Iniettando un DbContext in un validatore FluentValidation
- 6. Debounce su un solo validatore
- 7. Autowiring di un servizio in un validatore
- 8. Esiste un parser PDF per PHP?
- 9. Esiste un PHP equivalente a Compass?
- 10. Esiste un limite per PHP file_get_contents?
- 11. Esiste un framework standard per php?
- 12. Esiste un equivalente PHP in sqlite3_limit?
- 13. Esiste un semplice client OAuth2 per php?
- 14. Esiste un framework MySQL, PHP, JSON?
- 15. Esiste un preg_replace condizionale in PHP?
- 16. Esiste un buon tunnel universale PHP PHP MySQL?
- 17. asp.net Validatore di espressioni regolari con validatore di campo richiesto
- 18. Yii2: validatore sicuro a condizione
- 19. Come creare un validatore personalizzato in smartGWT?
- 20. .htaccess: Come "Specificare un validatore di cache"?
- 21. laravel validatore con un carattere jolly
- 22. Iniettare un servizio in un validatore personalizzato in Angular2
- 23. asp.net validatore sul testo
- 24. Symfony 2 validatore unica
- 25. Validatore URL JQuery
- 26. RSpec validatore test personalizzati
- 27. Può wtforms validatore personalizzato rendere un campo facoltativo?
- 28. controlla se l'immagine esiste php
- 29. Aggiunta di un messaggio di errore a un validatore personalizzato
- 30. Accedere a un servizio da un validatore personalizzato in Angular2
Per convalidare che cosa? Sintassi di PHP? Si otterrà un errore di analisi se la sintassi non è valida. – Gumbo
Penso che sia alla ricerca di qualcosa come "lint per PHP". Questa domanda è stata posta qui in precedenza: vedi http://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files in particolare, PHPlint (http://www.icosaedro.it/phplint/) sembra promettente. – bart