Was ist der Unterschied zwischen der Funktion hide () und unset ()?

9

Was ist der Unterschied zwischen hide()und unset()? Ich möchte ein paar Elemente verstecken, ich gefunden hide()und unset(), aber ich weiß nicht , welche ich verwenden soll.

Brian
quelle

Antworten:

19

hide()und unset() sind nicht gleich. hide () ist eine Drupal-Funktion und unset () ist eine rohe PHP-Funktion.

unset()zerstört einfach eine Variable. Zum Beispiel,

<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE. 

hide()zerstört die Variable NICHT. Es ist nützlich zu markieren, dass ein renderfähiges Array bereits gerendert ist, damit es nicht erneut gerendert wird .

es fügt einfach / ersetzt das gegebene Argument ist #printedauf TRUE so drupal_renderoder render()wird das Thema wieder funktioniert nicht ausführen - stattdessen wird es im Cache gespeicherte Version verwenden , wenn verfügbar .

Ein Beispiel für einen Anwendungsfall hide()wäre, das Kommentarformular in einer Knotenvorlage auszublenden und an einer anderen Stelle in der Vorlage anzuzeigen. Sie finden es auch nützlich, wenn Sie Seiten oder Blöcke ändern. Machen Sie KEIN unset() Render-Array, wenn Sie es woanders verwenden möchten.

Wenn Sie ein bestimmtes Formularelement vor dem Benutzer verbergen möchten, aber dennoch die Formularstruktur beibehalten möchten, setzen Sie #accessdas Element auf FALSE.

ausblenden()

drupal_render ()

unset ()

AyeshK
quelle