簡體   English   中英

Php psalm 配置和語法錯誤報告

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM