Vielleicht hoffen Sie zu erfahren, dass variable_set der magische Weg ist, alle Arten von strukturierten Daten in Ihrer Datenbank zu speichern, und dass variable_get der Weg ist, sie wieder herauszuholen. Leider ist es nicht.
Die "persistenten Variablen", wie sie häufig genannt werden, sind für relativ einfache Schlüssel-Wert-Paare gedacht, die über Anforderungen, Benutzer und Sitzungen hinweg bestehen bleiben sollen, häufig bis ein Site-Administrator den Wert ändert. Ein gutes Beispiel ist der Site-Name.
Wie funktioniert es?
Wenn Drupal gebootet wird, werden alle Variablen aus dem Cache (falls verfügbar) oder aus der Variablentabelle gelesen. ( Den genauen Code finden Sie unter variable_initialize .) Die Variablen und in der globalen $conf
Variablen gespeichert , ein riesiges Array. Drupal tut dies, weil es effizienter ist, als jedes Mal, wenn eine Variable benötigt wird, eine Datenbankabfrage durchzuführen. (Dies ist auch der Grund, warum variable_set nicht für große Datenmengen geeignet ist: Sie werden bei jeder Anforderung geladen!)
Bei jeder Verwendung variable_get('variable_name', 'default_value')
wird der Variablenname im Array $ conf nachgeschlagen. Wenn es existiert, wird der Wert zurückgegeben; Andernfalls wird der Standardwert zurückgegeben.
Schließlich gibt es noch ein drittes Familienmitglied: variable_del . Wie der Name schon sagt, wird dadurch eine Variable aus der Variablentabelle gelöscht. Diese Funktion wird häufig in hook_uninstall- Implementierungen verwendet und löscht Variablen, wenn ein Modul deinstalliert wird.
Wenn Sie nach Möglichkeiten suchen, komplexere benutzerdefinierte Datenstrukturen in der Datenbank zu speichern, überprüfen Sie hook_schema und drupal_write_record oder verwenden Sie das Drupal-Entitätssystem und die Entitäts-API .
variable_set()
dass der variable Cache neu erstellt wird. Daher ist er normalerweise für Daten reserviert, die ziemlich langlebig und konsistent sind, wie z. B. Administratoreinstellungen und dergleichen. Oder anders ausgedrückt, es sollte nicht anstelle oder wie statische Variablen zwischen Funktionen verwendet werden, die sich während des Seitenaufbaus ändern.Wenn Sie Drush verwenden (dringend empfohlen), können Sie über
drush vget > variables.txt
die Befehlszeile eine Textdatei mit einer Liste aller aktuellen Variablen und ihrer Werte erstellen. Ebenso können Siedrush vset
festlegen, dass jede Variable auf einen anderen Wert gesetzt wird.Siehe GitHub für mehr Details über
variable-get
,variable-set
und andere nützliche Befehle.quelle
Um Variablen zu setzen, würden Sie variable_set () verwenden . Dann können Sie sie mit variable_get () abrufen . Sie sollten sich mit der Drupal-API-Site vertraut machen.
Die gespeicherten Variablen finden Sie in der Variablentabelle.
quelle
Du kannst:
quelle