バグ解消法、お役立ち情報など

Expected type 'object'. Found 'string'.intelephense(1006) の解消方法(Mockery)

image

はじめに

Visual Studio Code(VSCode) でPHPを使ってプログラミングをしていると、下記のエラーメッセージが表示されることがあります。

エラーメッセージ
Expected type 'object'. Found 'string'.intelephense(1006)

私の場合、モックオブジェクトライブラリのMockeryを使っている際にエラーが表示されました。

いわゆる型エラーですが、こちらとしてはきちんとオブジェクトを指定しているつもりなのになーという感じです。

そこで、このエラーの解消方法をお伝えします。

解消方法

下記のようにアノテーションを追記すると解消します。

PHPファイル内
/** @var object $class */

使用例は以下の通りです。

PHPファイル内
/** @var object $class */ $class = ClassName::class; $this->mock = Mockery::mock($class)->makePartial();

無事にエラーが解消できました!

バグ解消法、お役立ち情報など