[英]php Error Reporting Clarificartion (exact method, syntax & location)
[英]Php psalm configuration and syntax error reporting
我有一個簡單的語法錯誤的案例。 它是這樣的
class Foo
{
public function __construct($a,$b,$c,) {...}
所以,在 param $c 之后有一個語法錯誤——一個多余的逗號(我使用的是 php7.3)。 當我運行./vendor/bin/psalm src/Foo.php --no-cache
它顯示這里沒有任何損壞。
我的問題是我是否缺少一些配置或其他東西,為什么 psalm 沒有捕捉到那個簡單的語法錯誤案例?
使用 php8 此代碼不再帶來錯誤:
<?php
class Foo
{
public function __construct($a,$b,$c,) {}
}
我懷疑詩篇可能已經考慮到了這一點。
決定性因素是 PHP 本身提供的錯誤,而不是任何 IDE 或其他工具顯示的錯誤。
解析錯誤 Psalm 報告是由 Psalm 在nikic/php-parser
使用的nikic/php-parser
生成的,解析器本身不區分 PHP 8 和 PHP 7 語法。
Psalm 報告解析錯誤的唯一原因是它無法理解語法錯誤的代碼。 找到任何語法錯誤並不是 Psalm 的目標,有很多工具可以做到這一點。
因此,您應該使用正確的語法檢查器,直接使用php -l
或一些包裝器,如php-parallel-lint/php-parallel-lint
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.