メソッド型ヒントで疑問符を使用している PHP (symfony/laravel) コードの一部について、次のようなことを感じました。
public function functionName(?int $arg = 0)
他の機会には?タイプ最後のものではありませんでしたが、まだデフォルトのないものは見つかりませんでした。
問題は、これに関する情報が見つからないことです。確認したところ、
- ここ :http://php.net/manual/en/migration70.new-features.php
- そしてここ :http://php.net/manual/en/migration71.new-features.php
- そしてここ :http://php.net/manual/en/functions.arguments.php
7.2 でも同様ですが、コードには 7.1 のみが必要なので、むしろ普通のようです。
私もグーグルで検索し、ここで検索しましたが、これは文書化されていないか、疑問符のトピックが検索エンジンに勝っているかのどちらかです。
それで、私は今少し愚かだと感じています。メソッド シグネチャ引数のこの疑問符の意味について誰かが教えてくれると本当にありがたいです。
ありがとう
ベストアンサー1
これはphp7.1の新機能です
http://php.net/manual/en/migration71.new-features.php
疑問符は、型ヒント付きパラメータ (または戻り値) も null にできることを意味します。
したがって、あなたの例では、$arg は null または任意の整数にすることができます。