実際にphpのどのタイプのヒントが正しいのか分かっていれば、タイプをチェックし、宣言されていない場合はエラーをスローします。PHPで "チェック"の代わりに "ヒント"と呼ばれる型チェックがあるのはなぜですか?
これは、ちょうど「ヒント」以上のものです。つまり、「完全な」「チェック」(javaのような主なプログラミングのバックグラウンド)のようなものです。
私は何かが欠落しているのか、そのように名前をつけるのが何だったのだろうと思います。
実際にphpのどのタイプのヒントが正しいのか分かっていれば、タイプをチェックし、宣言されていない場合はエラーをスローします。PHPで "チェック"の代わりに "ヒント"と呼ばれる型チェックがあるのはなぜですか?
これは、ちょうど「ヒント」以上のものです。つまり、「完全な」「チェック」(javaのような主なプログラミングのバックグラウンド)のようなものです。
私は何かが欠落しているのか、そのように名前をつけるのが何だったのだろうと思います。
PHPは変数型をチェックせず、型は変数宣言内で宣言されません。 PHPは必要に応じて変数を正しい型に変換しようとします。 numberにstr_replaceを指定すると、numberは一時的にstringに変換されます。
あなたがJavaからだから、その正反対がhttp://php.net/manual/en/language.types.type-juggling.php
を見ることができるように。
ありがとうございますが、私はそれがJavaからの「正反対の」と言ってもらえるとは分かりません。その違いは正確なものよりも微妙です。私は必要なコンセプトが強制的であることを知りました。 javaは明示的なキャストを必要とする傾向があり、強制(php)はプログラマの介入なしに必要に応じてキャストが行われることを意味し、 "タイプヒント"というフレーズが命名の選択肢として私には意味をなされるように強制します。 – mwal
私がその正反対を言ったとき、それは**(完全な) "チェック"(javaのような私の主なプログラミングバックグラウンド)のような**への反応でした** –
「@ NotNull」のようなアノテーションに似ていますが、静的解析ではnullを割り当てる可能性があるコードエラーの助けになりますが、イントロスペクションによって実行時にnullの値が割り当てられないようにしません。 –