Відповіді:
hide()і unset() не однакові. hid () - це функція Drupal, а unset () - сира функція php.
unset()просто знищує змінну. Наприклад,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()НЕ знищує змінну. Корисно відзначити, що якийсь масив, здатний до рендерінгу, вже виведений, тому він не буде наданий знову .
він просто додає / замінює даний аргумент це #printedна логічну одиницю, так drupal_renderчи render()не виконуватиме функції тему знову - замість цього, він буде використовувати кешированниє версії , якщо є .
Зразком використання зразка hide()було б приховати форму коментарів у шаблоні вузла та показати її десь ще в шаблоні. Це також буде корисним при зміні сторінок або блоків. Ви НЕ unset() рендер масиву , якщо ви хочете використовувати його де - небудь в іншому місці.
Якщо ви хочете приховати певний елемент форми від користувача, але все ще хочете зберегти структуру форми, встановіть #accessелемент до FALSE.