it-swarm.com.de

Wie setze ich Variablen für variable_get ()?

Ich versuche variable_get() zu verstehen. Ich habe bisher gelesen, dass Sie Variablen in der settings.php mit dem Array $conf Festlegen und später im Code mit variable_get() abrufen können. Ich habe gelesen, dass Sie auch variable_get() verwenden können, um Werte aus der Datenbank abzurufen.

Wie funktioniert das?
Gibt es eine Tabelle, die automatisch erstellt wird?
Wie würden Sie Variablen festlegen, wenn diese Funktion möglich ist?

9
cthrucode

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 wird gebootet), 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 Variablen $conf 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 dafür variable_set ist nicht für große Datenblobs geeignet: Sie werden bei jeder Anfrage geladen!)

Immer wenn Sie variable_get('variable_name', 'default_value') verwenden, 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 Implementierungen von hook_uninstall verwendet, um Variablen zu löschen, wenn ein Modul deinstalliert wird.

Wenn Sie nach Möglichkeiten suchen, komplexere benutzerdefinierte Datenstrukturen in der Datenbank zu speichern, lesen Sie hook_schema und drupal_write_record oder verwenden Sie Drupal Entitätssystem und Entitäts-API .

25
marcvangend

Wenn Sie Drush (dringend empfohlen) verwenden, können Sie drush vget > variables.txt Über die Befehlszeile ausgeben, um eine Textdatei mit einer Liste aller aktuellen Variablen und ihrer Werte zu erstellen. Ebenso können Sie mit drush vset Jede Variable auf einen anderen Wert setzen.

Weitere Informationen zu variable-get, variable-set Und anderen nützlichen Befehlen finden Sie unter GitHub .

5
mrP

Um Variablen zu setzen, würden Sie variable_set () verwenden. Dann können Sie sie mit variable_get () abrufen. Sie sollten sich mit der API-Site Drupal API) vertraut machen.

Die gespeicherten Variablen finden Sie in der Variablentabelle.

3
Triskelion

Du kannst:

2
Mołot