PHP有语法验证功能吗?

问题描述 投票:0回答:5

有没有办法使用 PHP 本身来验证我的 PHP 代码是否存在语法错误?

php validation
5个回答
17
投票

您可以在不运行 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 挂钩,这很好,顺便说一句:它有助于避免在生产中出现语法错误 ^^


10
投票

您可以使用

-l
--syntax-check
标志运行 php。它检查所提供文件的语法而不实际运行它

php --syntax-check myfile.php

2
投票

PHP 引擎本身。

要打开错误消息:

error_reporting(E_ALL);

2
投票

以其他人所说的为基础:

error_reporting(E_ALL);

简单地使用 PHP 自己的错误消息就足够了。但是,如果您真的想获得肛门并使用一组“标准”,您可以选择PHP Code Sniffer,例如,您可以将其实现为版本控制系统的预提交挂钩。

这里有一个问题解释了它们的用处:PHP CodeSniffer 有多大用处?一般的代码标准执行情况?


-1
投票

你可以试试这个:

https://phpcodechecker.com/

看起来做得还不错。对字符串中的大括号感到困惑,但非常方便。

© www.soinside.com 2019 - 2024. All rights reserved.