2017-03-23 20 views
1

PhpStormは、次のコード部分に$requestTypeを強調表示していますが、その理由はわかりません。おそらくPhpStormのバグ?おそらく、デフォルトの関数値のように定義するのは良い習慣ではないでしょうか?クラス内のconst値を使用するPHPのデフォルト関数値のベストプラクティス

class HttpClient 
{ 
    const RequestTypes = [ 
     'DEFAULT' => 'default', 
     'JSON' => 'json' 
    ]; 

    public function makeRequest(
     string $requestType = self::RequestTypes['DEFAULT'] 
    ): Response { 

     // The function 

    } 
} 

エラーメッセージはDefault value for parameters with string type can only be string or NULLです。

明らかに、['DEFAULT']の値は文字列ですが、引き続きエラーが発生します。

あなたはどう思いますか?

+0

Try PhpStorm 2017.1 RC – LazyOne

+0

それは劇的な解決策ですが、うまくいかなかったのですが、それを強調表示するまでです。とにかく、ありがとう、私は最新バージョン\ 0/ –

+1

を使用していますあなたのプロジェクト設定でPHP言語レベル7を設定しましたか? – Barmar

答えて

2

Nathanによってコメントされているように、これはすでにWrong evaluation of typeに報告されている既存のPhpStormバグのようです。ありがとう!

+0

あなたのコードは*ベストプラクティスなので、PHP Stormのバグであり、エラーとしてマークしているので、質問は「無効」または同様のものとして閉じられることがあります。 –

+0

私は閉鎖されるべき質問にフラグを立てました。正しい理由を選んだのは100%ではありませんが、私はPHPストームの問題追跡ツールで見つかったので、Stack Overflowには適していないと思います。 –

+0

適切な問題は[WI-33725](https://youtrack.jetbrains.com/issue/WI-33725)です。 – artspb

関連する問題