Skip to content

PHP WTF - a string is not a string

$ php -a 
Interactive shell

php > function foo(string $s) { echo $s; }
php > foo("bar");
PHP Catchable fatal error:  Argument 1 passed to foo() must be an instance of string, string given, called in php shell code on line 1 and defined in php shell code on line 1

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

victor am :

victor

??

das ist imho wohl das zu erwartende verhalten ...

der aufruf muesste

foo(new string("bar"));

lauten -> explizites instanzieren eines string objekts.

ohne dem kommts auf die einstellungen des interpreters drauf an ... also ob er automatisch typen castet oder eben nicht ... was ich mir aber bei php nicht vorstellen kann :)

wenn nein: dann ist "bar" einfach eine kette von zeichen und kein string-objekt.

oo-fundamentals taet ich sagen ;)

cheers

v

robelix am :

robelix

Ich verstehe das Problem schon. Trotzdem finde ich die Fehlermeldung "wunderschön"

Kommentar schreiben

Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Gravatar, Twitter, Identica, Favatar, Pavatar Autoren-Bilder werden unterstützt.
Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!