Beiträge: 1.450
Themen: 155
Registriert seit: 18.03.2006
30.05.2006, 16:47
(Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2007, 17:09 von Jan.)
Welche parameter sind bei eval() nötwendig und wofür zuständig?
PHP-Code:
eval("\$variable = \"".$templates->get("test")."\";");
Was macht $variable?
Und was macht "test"?
und dann gleich noch:
Was passiert bei
Welche Funktion hat hier $extern ?
Jan
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Ich habe keine Ahnung
, aber das ist ja nicht deine erste Frage dieser Art und ich denke es wäre besser, wenn du dich damit an ein spezielles PHP-Forum wendest oder das in diversen Dokumentationen nachliest.
Beiträge: 133
Themen: 10
Registriert seit: 15.02.2006
MyBB-Version: last
30.05.2006, 16:53
(Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2006, 16:54 von computexx.)
Richtige Erklärung zu diveresen Codeschnipseln und Befehelen bekommst du immer auf
www.php.net ... gib dort einfach mal eval() ein und du weißt was es macht
eval führt zum beispiel den code aus der zuvor in einer Variable definiert wurde.
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
outputpage ist aber eine Funktion von MyBB.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.450
Themen: 155
Registriert seit: 18.03.2006
Dies sind aber spezielle Funktionen des MyBB. Ein normales PHP Forum hilft da leider nicht weiter.
Woher sollen die bitte wissen wie das Templatesystem des MyBB gehandhabt wird?
Normale PHP Fragen stelle ich hier ja auch nicht.
Beiträge: 133
Themen: 10
Registriert seit: 15.02.2006
MyBB-Version: last
30.05.2006, 16:56
(Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2006, 16:59 von computexx.)
Nochmal zur Erklärung ...
eval versucht den String als PHP Code auszugeben. Das heißt:
$variable = das Template test
$extern ist eine Variable die wohl irgendwo einen Wert zugeteilt bekommen hat, aber dazu bräuchte man mehr vom Code!
Beiträge: 1.450
Themen: 155
Registriert seit: 18.03.2006
Sicher?
Zitat:Beispiel 1. eval()-Beispiel (einfache Texteinfügung):
PHP-Code:
<?php
$string = 'Bierglas';
$name = 'Binding-Lager';
$str = 'Das ist mein $string, voll mit $name.<br>';
echo $str;
eval ("\$str = \"$str\";");
echo $str;
?>
Das obige Beispiel gibt aus:
Code:
Das ist mein $string, voll mit $name.
Das ist mein Bierglas, voll mit Binding-Lager.
was ist den jetzt bitte $variable ?
PHP-Code:
eval("$variable = "".$templates->get("test")."";");
PHP-Code:
".$templates->get("test")."
Ist das template das geladen wird.
Beiträge: 90
Themen: 15
Registriert seit: 04.05.2006
führt Datenbank Code als PHP aus, damit werden also templates geparsed.
PHP-Code:
"\$variable = \"".$templates->get("test")."\";"
bedeutet, dass das template mit dem Namen "test", das über "$templates->get("test")" ausgelesen wird, der $variable zugewiesen wird.
ist eine in myBB definierte Funktion, die in keinem PHP-Manual steht.
Beiträge: 1.450
Themen: 155
Registriert seit: 18.03.2006
So, das erste dürfte verstanden sein. Jetzt bitte ich, jemanden der sich auskennt, die Funktion
zu erklären, damit ich das Temlatesystem besser verstehen kann und die dateien entsprechend anpassen kann.
Beiträge: 133
Themen: 10
Registriert seit: 15.02.2006
MyBB-Version: last
Richtig! Nur führt er dies gleich aus!
Bei deinem Beispiel oben wird zuerst die Variable $str definiert mit dem Text. Danach wird sie mit echo ausgegeben, wie du siehst werden die Variablen $string und $name nicht ausgegeben, eh klar, ist ja kein echo oder dergleichen in der Nähe!
Bei eval() führt er aber die im $str enthaltetenen Variablen aus, somit erscheint der Text gleich als ausgabe