有没有办法使用 PHP 本身来验证我的 PHP 代码是否存在语法错误?
您可以在不运行 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 挂钩,这很好,顺便说一句:它有助于避免在生产中出现语法错误 ^^
您可以使用
-l
或 --syntax-check
标志运行 php。它检查所提供文件的语法而不实际运行它
php --syntax-check myfile.php
PHP 引擎本身。
要打开错误消息:
error_reporting(E_ALL);
以其他人所说的为基础:
error_reporting(E_ALL);
简单地使用 PHP 自己的错误消息就足够了。但是,如果您真的想获得肛门并使用一组“标准”,您可以选择PHP Code Sniffer,例如,您可以将其实现为版本控制系统的预提交挂钩。
这里有一个问题解释了它们的用处:PHP CodeSniffer 有多大用处?一般的代码标准执行情况?