[PHP] Sprachkonstrukt

budderstulle

Well-known member
ID: 58316
L
2 Mai 2006
434
73
Hi!

Ich schreib gerade eine Arbeit über PHP, wo ich ein paar Grundlegende Sachen von PHP beschreibe.
Nun steht bei www.php.net, dass es sich bei echo() und print() um Sprachkonstrukte handelt, nicht um Funktionen.

Könnt ihr mir bitte kurz erklären, was ein Sprachkonstrukt ist? Ich hab schon gegoogelt, aber halt nichts gefunden :|
Ich will nur bei der Verteidigung nicht doof dastehen, wenn die mich dazu was fragen sollten :)


mfg budderstulle
 
Danke, aber das hatte ich mir auch schon angeguckt..
Ganz dumm bin ich ja auch nicht :ugly:

Die Sprachkonstrukte werden dazu benutzt um den Programmablauf zu steuern.
Das steht da zwar, aber ich bin mir nicht so sicher, ob man das als Definition stehen lassen kann.

Ich wollte erstmal hören, was ihr mir dazu sagen könnt.
 
php tags eingefügt

Die von dir benannten Sprachkontrukte sind eigentlich auch bloß Funktionen.

Nur diese Sprachkontrukte
PHP:
echo ('Hello World');
printf('Hello World');
geben eine Ausgabe direkt auf die Oberfläche, bzw. eher den Quellcode.
Die dienen dazu über PHP bestimmte Abschnitte in den Quellcode einzubinden.
Also:
PHP:
$zahl='Hello World';

if ($zahl!='Guten Morgen'){
printf('<div>Der String %s lautet nicht Guten Morgen</div>',$zahl);
}
else{
echo $zahl.' der Herr!';
};

Also diese Funktionen, die du als Sprachkontrukte bezeichnest sind funktionen, dessen Funktionsablauf direkt mit der "Sprache" kommuniziert, wobei die "Sprache" HTML oder so ist.
Andere Funktionen, wie mysql_db_query oder so arbeiten nicht direkt mit der Sprache, sondern im Hintergrund und bewirken ein anderes Ziel. Sprachkonstrukte regeln die Ausgabe im Browser beispielsweise.

Die einzigen Ausgaben, die solche Funktionen, wie mysl_db_query hervorrufen sind Fehlermeldungen, die jedoch auch wiederum durch Spachkontrukte realisiert werden.

Mfg
DaKirsche
 
Zuletzt bearbeitet:
du kannst dir das so vorstellen das ein sprachkonstrukt eine art syntax baustein ist. zb eine funktion in php wird (fast) immer mittels funktion(argumente) aufgerufen. was aber bei echo nicht der fall ist... das tanzt aus der reihe deswegen ist es was anderes. der syntax für echo ist ebend mal echo "irgendwas"... und somit ein spezielle "konsturktion" wie zb auch:

PHP:
if(true) {

}

PHP:
while(true) {

}

PHP:
include 'datei.php'

PHP:
klasse::statischeFunktion()

PHP:
$instantz->funktion()

sind alles sprachkonstrukte. warum jetzt solche sachen wie include oder echo nicht als funktion behandelt werden, sondern aus der reihe tanzen ist die andere frage. keine ahnung warum... vielleicht weil sind zu elementar sind?! aber wie gesagt keine ahnung

aber wenn du sagst echo ist ne funktion dann wird dir deswegen sicher keiner den kopf abhauen... das ist reine interpretations sache.