Expected type 'object'. Found 'string'.intelephense(1006) の解消方法(Mockery)
はじめに
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();
無事にエラーが解消できました!