PHP 7では、戻り型宣言が導入されています。つまり、関数のパラメーターで可能なように、戻り値が特定のクラス、インターフェース、配列、呼び出し可能、または新しくヒント可能なスカラー型の1つであることを示すことができます。
function returnHello(): string {
return 'hello';
}
多くの場合、値が常に存在するとは限らず、何らかのタイプの値またはnullのいずれかを返す可能性があります。デフォルトをnull(DateTime $time = null
)に設定することでパラメーターをnull可能にすることができますが、戻り値の型に対してこれを行う方法はないようです。それは確かにそうなのですか、それともどうにかしてそれを行う方法を見つけていませんか?これらは機能しません:
function returnHello(): string? {
return 'hello';
}
function returnHello(): string|null {
return 'hello';
}
今のところ、アプリケーションの例外を悪用することでnullの可能性をエミュレートすることになりました。同様に愚かなことで、あなたしている罰金場合、これは有用であることがありますgithub.com/JeroenDeDauw/OhMyPhp/blob/master/src/...
—
イェルーン・デ・Dauw
おそらく、PHP7
—
Elias Van Ootegem
Trowable
インターフェース(具体的にはの拡張TypeError
)を使用する方が理にかなっているかもしれません
function returnString(?string $stringNull) : ?string { return $stringNull;}