基本的に、次のコードを指定すると、php-lは構文エラーを検出しません。
<?php
date®;
?>
明らかに、それを実行するとエラーになります。
PHPに使用する代替または追加のリンターはありますか?
編集:
たくさんの人に感謝します。ドキュメントが示唆しているように、明らかにこれは有効な定数名です([a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *)。
基本的に、次のコードを指定すると、php-lは構文エラーを検出しません。
<?php
date®;
?>
明らかに、それを実行するとエラーになります。
PHPに使用する代替または追加のリンターはありますか?
編集:
たくさんの人に感謝します。ドキュメントが示唆しているように、明らかにこれは有効な定数名です([a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *)。
date®の定義が一定していないため、エラーが発生するだけです。
テストファイルを含める前の別のスクリプトファイルのどこかに、次のような場合があります。
define('date®','Value');
これは有効であり(意味がありませんが)、エラーなしで実行されます
したがって、構文的にはこのファイルは有効であり、lintチェックはそれをそのように適切に報告します
あなたが探しているのはphp_check_syntax
(http://php.net/manual/en/function.php-check-syntax.php)です。
私の答えを訂正させてください。後者のコードはエラーとして検出されません(コメントに記載されているように、これは誤ったコードではありません)。ただし、ファイルのエラーをチェックする場合は、後者の関数を使用する必要があります。