今日、開発者は、戻り値 null で定義された関数をロードできないという問題に遭遇しました:
クラス名として 'Appnull' を使用できません予約されているので
トレースしたところ、関数の戻り値が null として宣言されていることがわかりました。
まず、戻り値が null として宣言できるかどうかを確認します:
RFC PHP RFC の将来の作業に記載されているとおり: 戻り値の型宣言:
関数が何も返さないことを宣言できるようにします (Java と C では無効)
これは、この RFC が戻り値が null または空所!
しかし、PHP RFC: Void Return Type は void がサポートされていることを示しています。つまり、戻り値はありませんが、null の宣言は許可されていません。 (理由は示されています)
しかし、この RFC は PHP 7.1 で実装される予定です。そのため、現在 PHP 7.0 では利用できません。
追伸: 実験の結果、PHP7.0 では戻り値が void であると宣言すると構文チェックは通過できますが、戻り値がどのように返されたとしても (直接返されたかどうかに関係なく) エラーが報告されます。 ):
AppUser::func() の戻り値は void のインスタンスである必要があり、何も返されません
さらに、戻り値を宣言する問題については、 nullable はまだ草案段階にあり、やるべきことはまだたくさんあります: PHP RFC: Nullable Types の宣言。
RFC の将来の作業: 戻り値の型宣言には次の内容があります:
型分析を行うことで実行時のパフォーマンスを向上させます。
したがって、現時点では、型の宣言は開発の促進とパフォーマンスの向上を目的としていますそれは次の計画でのみ行われます。