私はこの質問が何度も聞かれるのを見てきましたが、私はまだ混乱していて、似たような状態に出くわしました。これと私の文脈が同じであるかどうかはわかりませんが、これが別のシナリオであると確信している限り、そうでなければ説明を誤解している可能性があります。これが私のシナリオです。
$amount = isset($cost->getCostAmount()) ? $cost->getCostAmount() : 0;
関数costAmount()は実行時に動的に追加され、存在する場合と存在しない場合があります。したがって、最初に自分の関数が存在するかどうかを確認する必要があり、残りはかなり明確です。しかし今、この場合、私は致命的なエラーを受け取ります:
致命的なエラー:..../file.phpの書き込みコンテキストでメソッドの戻り値を使用できません
今、私がこのようなことをすると:
$amount = $cost->getCostAmount() ? $cost->getCostAmount() : 0;
明らかに、エラーが発生します。
未定義のメソッドの呼び出し:getCostAmount
関数が存在しない場合。これに対する可能な解決策は何でしょうか?説明は役に立ちます。
リクエスト:将来、質問を改善できるように、質問が却下された理由に適切なコメントを追加してください。