function() als normale Variable behandelt (eval())

Sebigf

Erfahrenes Mitglied
Hallo zusammen,

ich habe eine Funktion erstellt mit der man über einen Name_Shortcut Daten aus der Db ermitteln kann.

Das ganze sieht in etwas so aus....

$val_ID = 25;
function val($val_ID)
{

....[SQL_QUERY]....

return $wert['muh'];

}

Wie kann ich es jetzt machen, dass ich das ganze als $val nutzen kann.

Sodass das ganze so nutzbar ist: $val[25];
Und das genau so ausgelesen bekomme.

Wollte es so haben, weil ich mit eval ein Template-System am laufen habe und die Function einfach nicht einsetzten kann.....

Danke
 
Hallo !

Ja, so ziemlich genau. So sollte das ganze aussehen im Endeffekt.

Wie mache ich es, dass ich diese Regel immer anwenden kann (global im ganzen System) und auch wenn ich eine Funktionen-Datei mit require() auslese ?!

Danke
 
Ich verstehe dich nicht ganz. Sobald die Funktion definiert ist, kann sie überall aufgerufen werden.
 
Kein Problem, hier die Übersicht meines Vorhabens...

## functions.php

PHP:
<?php

function val($val_ID)
{
        $sql = "SELECT * FROM muh WHERE (name = $val_ID)";
        $settings = mysql_query($sql);
        $res = mysql_fetch_array($settings);
      
        return $result = $res['opt_val'];
}

?>


## index.php

PHP:
<?php

require("./functions.php"); // beinhaltet die val-funktion

echo $val[val_ID] = val(val_ID);

?>

Ich merke gerade, dass ich es nicht gut erklärt habe vorher.
Es ist so, dass ich mit der val() jegliche Inhalte aus einer Setting-DB auslesen kann. Vorallem dann sinnvoll, wenn ich in Templates (eval()) Werte gebraucht werden, z.B. Seitenname etc.

In meinen Templates kann ich mit {$abc} alle normalen Variablen auslesen kann bzw. auswerten lassen.

Deswegen würde ich auch gerne für die val() eine Regel haben, dass ich alles auslesen in meinen Templates auslesen kann, was sich mit val() alles anzeigen lassen kann.

Ich habe an sowas gedacht: $val[wert] oder $val_wert

Ich hoffe du kannst mir da ein wenig folgen...

Danke

## Nachtrag

Der Sinn für mein Vorhaben liegt darin, dass ich nicht jeden Wert ausgeben / auslesen lassen möchte. Es soll dynamisch bleiben, sodass ich auch bei neuen Optionen in der DB einfach mit $val[wert4045560] oder $val_wert4045560 arbeiten kann.
 
Zuletzt bearbeitet:
Zurück