はじめに
vscodeを利用して開発していた時にクラスのプロパティに型指定を追加するとエラー表示される事象があったのでそちらの改善方法を殴り書き程度のメモになりますが残しておきます。
事象
下記のようなクラスを作成しました。
<?php namespace App\Domain\ValueObject\Common; use Exception; class Id { private int $_id; public function __construct(int $id) { if ($id < 0) { throw new Exception('不正なidです。'); } $this->_id = $id; } public function getId(): int { return $this->_id; } }
すると添付画像のような文法エラーが表示されます。
PHPのバージョンは8系を利用している為、プロパティへの型指定は認められているはずです。(たしか7.4系くらいから認められた?)
その為vscode側の設定をいじります。
対応内容
vscode自体がPHPの基本的な補完は行ってくれるのですが、そちらが問題となっている模様。補完に関してはPHP Intelephense
を利用したいので重複をさけるようvscodeの基本設定を以下の設定に変更します。
・PHP > Suggest: Basic 組み込みの言語候補機能。チェックを外す(false)
・PHP > Validate: Enable 組み込みのPHP検証。チェックを外す(false)