Variablenbezeichnung
jens65m
- php
hallo,
frage ist aus einem anderen post entstanden.
was ist der unterschied zwischen
$irgendwas = "xy";
und
$_irgendwas = "xy";
lg, jens
Moin!
frage ist aus einem anderen post entstanden.
was ist der unterschied zwischen$irgendwas = "xy";
und
$_irgendwas = "xy";
Der Variablenname, aber sonst nix.
- Sven Rautenberg
Hi,
$irgendwas = "xy";
und
$_irgendwas = "xy";
Der Variablenname, aber sonst nix.
Kleine Ergänzung:
PHP verbietet es nicht, Variablennamen mit Unterstrich am Anfang für eigene Zwecke zu benutzen.
Aber PHP nutzt derartige Variablennamen für spezielle PHP-Variablen wie z.B. _GET, _POST usw.
Insofern würde ich selbst keine selbstdefinierten Variablennamen mit _ am Anfang benutzen.
Wer weiß, welche _Namen PHP in Zukunft mit spezieller Bedeutung belegt ...
cu,
Andreas
Hello,
PHP verbietet es nicht, Variablennamen mit Unterstrich am Anfang für eigene Zwecke zu benutzen.
Aber PHP nutzt derartige Variablennamen für spezielle PHP-Variablen wie z.B. _GET, _POST usw.
Insofern würde ich selbst keine selbstdefinierten Variablennamen mit _ am Anfang benutzen.
Wer weiß, welche _Namen PHP in Zukunft mit spezieller Bedeutung belegt ...
PHP benutzt aber für diese eignen Variablen immer Versalien.
Zudem sind alle diese Varibablen PHP-Arrays.
Was spricht also dagegen, eigene Arrays ebenfalls mit der Unterstrich-Schreibweise zu kennzeichnen, aber dafür nur mit Gemeinen.
"$_out" wäre dann also der Name für ein Array, dass alle Ausgaben enthält, die ins Template eingestanzt werden müssen...
Man kann Scripte, die sich an diese einfache Schreibweise halten, sehr leicht lesen, besser jedenfalls, als wenn man polnische Notaion benutzen würde.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
PHP benutzt aber für diese eignen Variablen immer Versalien.
Bis jetzt.
Das ist auch so eine Sache, die mir bei PHP nicht gefällt:
Variablen-Namen sind case-sensitive, aber Function-Namen sind case-insensitive.
Eine Sprache sollte m.E. entweder komplett case-sensitive oder komplett case-insensitive sein, was Bezeichner angeht. Aber nicht mal so und mal so.
Ach ja, hab grade im Handbuch gesehen: PHP reserviert Namen mit doppeltem Unterstrich am Anfang für sich.
Da frag ich mich, warum die vordefinierten Sachen _GET statt __GET, _POST statt __POST usw. heißen.
Ein weiterer Punkt, wo PHP sehr inkonsequent ist ...
cu,
Andreas
Hello,
Ein weiterer Punkt, wo PHP sehr inkonsequent ist ...
Das wissen wir ja. Ist eben gewachsen. C und C++ sind auch irgendwo inkonsequent, sagt zumindest Bjarne Strutrup. Er würde C++ heute anders designen.
Die mMn konsequenteste Sprache ist immer noch Pascal. Mit Turbo-Pascal ist die Konsequenz dann auch teilweise aufgehoben worden.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
Ein weiterer Punkt, wo PHP sehr inkonsequent ist ...
Das wissen wir ja. Ist eben gewachsen. C und C++ sind auch irgendwo inkonsequent, sagt zumindest Bjarne Strutrup. Er würde C++ heute anders designen.
PHP (~1995) ist aber wesentlich jünger als C (~1970, die Vorläufer noch etwas früher) und C++ (~1985), die PHP-Erfinder hätten also aus den Design-Fehlern dieser Sprachen lernen können.
Java (ebenfalls ~1995) ist m.E. wesentlich konsequenter ...
cu,
Andreas
Hello,
PHP (~1995) ist aber wesentlich jünger als C (~1970, die Vorläufer noch etwas früher) und C++ (~1985), die PHP-Erfinder hätten also aus den Design-Fehlern dieser Sprachen lernen können.
Klar, hätten sie!. Nur wer das Ganze kennt, kann im Detail entscheiden.
Als Rasmus angefangen hat, den Vor-Vorläufer des heutigen PHP zu entwickeln, wird er wohl kein Professor für Softwareentwicklung mit 30jähriger Berufserfahrung gewesen sein.
Ich hätte auch lieber, dass PHP das Unit-Konzept von Turbo-Pascal berücksichtigen würde. Das würde Vieles erleichtern und Anwendungen angenehm schlank machen können.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg