2016-08-30 3 views
0

Wenn ich richtig verstehe, was Typ Hinting in PHP tatsächlich tut, überprüft es Typ und löst einen Fehler aus, wenn es nicht wie deklariert ist.Warum wird die Typprüfung in PHP "Hinting" statt "Checking" genannt?

Das scheint mir mehr als nur ein "Hinweis" - mehr wie eine (vollständige) "Überprüfung" (wie Java - meine Hauptprogrammierung Hintergrund).

Also frage ich mich, ob ich etwas vermisse oder was die Absicht war, es so zu benennen.

+0

Vielleicht ähnelt es einer Annotation wie '@ NotNull', die statische Analyse bei Codierungsfehlern erlaubt, wo Null zugewiesen werden kann, aber nichts verhindert, dass ein Wert von Null zur Laufzeit durch Introspektion zugewiesen wird. –

Antwort

0

PHP prüft keine Variablentypen und Typen werden nicht innerhalb der Variablendeklaration deklariert. PHP versucht immer, die Variable bei Bedarf in den richtigen Typ zu konvertieren. Wenn Sie str_replace auf die Nummer setzen, wird die Nummer vorübergehend in eine Zeichenfolge umgewandelt.

Wie Sie es sehen können http://php.net/manual/en/language.types.type-juggling.php

So ist es genau das Gegenteil von Java.

+0

Danke, aber ich bin nicht sicher, dass es viel hilft zu sagen, dass es das "genaue Gegenteil" von Java ist: Der Unterschied ist subtiler als genau. Ich habe festgestellt, dass das Konzept, das ich brauchte, Zwang war. Da Java dazu neigt, explizite Umwandlungen zu wollen, und Nötigung (in PHP) bedeutet, dass Umwandlungen nach Bedarf durchgeführt werden, ohne Programmiererintervention, ist es Zwang, dass die Phrase "Typhinweis" für mich als eine Namenswahl sinnvoller ist. – mwal

+0

Als ich das genaue Gegenteil sagte, war es eine Reaktion auf ** mehr wie ein (vollständiger) "Check" (wie Java - mein Hauptprogrammierungs-Hintergrund) ** –

Verwandte Themen