環境
Laravel 6.*
エラー内容
http
のpost
実行時に、以下のエラーが表示される。
Return value of App\XXX\YYY::ZZZ() must be of the type string, none returned
エラーの意味
App\XXX\YYY
のZZZ()
メソッドにおいて、戻り値としてstring
の型指定があるが、none
が返っている(メソッドの戻り値がない)という意味
問題点
App\XXX\YYY
のZZZ()
メソッドでは、以下のように条件に応じて戻り値が記述されていたが、条件に当てはまらない場合の戻り値が記述されていなかった。
if (条件A) {
return x;
}
if (条件B) {
return y;
}
解決策
条件に当てはまらない場合も戻り値を返すようにする。
if (条件A) {
return x;
}
elseif (条件B) {
return y;
}
else {
return 0;
}
最後に
エラー分で調べてもあまりダイレクトに解決策が出てこなかったので、Qiita投稿の復習も兼ねてアウトプットしてみました。誰かの参考になれば幸いです。