Umlaute als Variblennamen welche Probleme?

twinx

Mitglied
Hallo,

Fabian Hofmann schreibt: "Umlaute in Variablen hab ich zwar noch nie ausprobiert, kann mir aber gut Vorstellen, dass das schnell zu Problemen führt!"
http://www.tutorials.de/forum/showthread.php?s=&threadid=138873&highlight=umlaute+and+Variablen

Dann gibt es noch ähnliche Kommntare in Büchern etc. Alle raten aber nur von den "Umlauten" ab, ohne zu argumentieren,
oder zu begründen aus welchen Grund. Warum soll ich keine verwenden, welche Gründe gibt es?

Kapitel 11. Variablen, (manual/de)
Ein gültiger Variablen-Name beginnt mit einem Buchstaben oder einem Unterstrich ("_"), gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Als regulärer Ausdruck (regular expression) würde das wie folgt ausgedrückt: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'.
Anmerkung: Unserem Zweck entspricht also ein Buchstabe von a bis z bzw. A bis Z oder einem ASCII-Zeichen von 127 bis 255 (0x7f bis 0xff).
http://php4.globe.de/manual/de/language.variables.php


D.h. dt. Umlaute sind als Variblennamen in PHP erlaubt, zB. $häuserüberschuß ist gültig.
Wie sieht das ganze aber in der Praxis aus?

Gruß
twinx
 
In er Praxis sieht das meines erachtens so aus, dass so schön die deutsche Sprache mit Ihren Umlauten ist und auch bei beispielsweise HTML ä und co problemlos funktioniert aber die Empfehlung dennoch zu & auml; und co geht, sollte man beim Programmieren das auch so beibehalten.
Auch wenn der Fall ein manchen Situationen nicht eintreten mag, dass ein nicht deutschsprechender dieses Dokument nicht lesen geschweige denn solche Variablennamen tippen kann....

Ich würde einfach drauf verzichten.
 
Original geschrieben von Ben Ben
In er Praxis sieht das meines erachtens so aus, dass so schön die deutsche Sprache mit Ihren Umlauten ist ... Ich würde einfach drauf verzichten.
OK. Es geht also mehr um die Konvention/Regeln, wie man sich im Kreise der Programmierer verhält.
Und nicht um irgendwelche PHP-Interna, wie "Parserangelegnheiten" von Umlauten. Dann ist es mir klarer.
 
Es kann natürlich auch sein, dass der Parser das nicht mag, dazu try & error
und ansonsten wie gesagt war das meine Meinung kann aber sein dass es andere anders sehen ;)
 
Original geschrieben von Ben Ben
Es kann natürlich auch sein, dass der Parser das nicht mag, dazu try & error
Na, wenn im Manual steht, dass es OK ist, sollte man sich auch darauf verlassen können, oder?
(Ein gültiger Variablen-Name beginnt mit einem Buchstaben oder einem Unterstrich, ein Buchstabe entspricht also einem ASCII-Zeichen von 127 bis 255, oder von a bis z bzw. A bis Z ) Und so eine Variable sieht doch hübsch aus: $häuserüberschuß :-)
Original geschrieben von Ben Ben ...und ansonsten wie gesagt war das meine Meinung kann aber sein dass es andere anders sehen ;)
Aber die Richtung von Dir stimmt glaube ich ganz gut, wenn jemand ohne deutsche Tastatur einen Code warten soll, der mit solchen $häuserüberschuß gespickt ist, ist es sicher nicht sooo, praktisch.
Vielleicht taucht ja noch das ein oder andere Kommentar auf dazu auf?
 
Umlaute sind keine Standartzeichen und werden auch nicht mit diversen Sprachsätzen ausgegben.

Also ich habe es getestet:
PHP:
$öööööööööööööööäü = "Diverse Umlaute werden ausgegben!";

echo $öööööööööööööööäü;

Das ging eindeutig und es besteht NUR aus Umlauten.
Allerdings garantiere ich nicht das es überall läuft.
 
Also wenn du Umlaute als Variable namen verwendest, ist das kein Problem. Aber du solltest sie nicht als Dateinamen verwenden. Sonnst streikt da alles außer Windows. Aber sowas ginge:
PHP:
$häuser = 5;
$häuser2 = 25;
$aäöüß = "Hallo Welt";

echo $häuser.$häuser2.$aäöüß;

Ob es geht, wenn der Umlaut am anfang steht, weiß ich nicht, das müsstest du probieren. Aber so klappts auf jeden Fall.
 
Mensch Kinders!
Da sollte es doch jedem Parser schlecht werden, oder?
PHP:
<?php   
			 $®±²³µ¶¸¹»¼¿©§«¬¦¨¥¤ = "Ein String!";
		echo $®±²³µ¶¸¹»¼¿©§«¬¦¨¥¤;
?>
Funktioniert aber einwandfrei!

Und hier noch mal: Alle ASCII-Zeichen von 127 bis 255 dürfen als "Buchstabenerstz" benutz werden laut PHP-Manual: http://php4.globe.de/manual/de/language.variables.php

ASCII-Tabelle
ascii.gif
 
Zurück