ฟังก์ชั่น hide () และ unset () แตกต่างกันอย่างไร?


9

ความแตกต่างระหว่างhide()และunset()คืออะไร? ฉันต้องการซ่อนองค์ประกอบบางอย่างฉันพบhide()และunset()แต่ฉันไม่รู้ว่าควรใช้องค์ประกอบใด

คำตอบ:


19

hide()และunset() ไม่เหมือนกัน hide () เป็นฟังก์ชัน Drupal และ unset () เป็นฟังก์ชัน php แบบ raw

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เพื่อให้ TRUE drupal_renderหรือrender()จะไม่ดำเนินการฟังก์ชั่นรูปแบบอีกครั้ง - แทนมันจะใช้เวอร์ชันแคชถ้ามี

ตัวอย่างการใช้งานกรณีของhide()การซ่อนฟอร์มความคิดเห็นในเทมเพลตโหนดและแสดงที่อื่นในเทมเพลต คุณจะพบว่ามีประโยชน์เมื่อแก้ไขหน้าหรือบล็อก อย่าไม่ unset()เรนเดอาร์เรย์ถ้าคุณต้องการที่จะใช้ที่อื่น

หากคุณต้องการที่จะซ่อนองค์ประกอบแบบฟอร์มบางอย่างจากผู้ใช้ แต่ยังคงต้องการที่จะให้โครงสร้างรูปแบบการตั้งค่าขององค์ประกอบที่จะ#accessFALSE

ซ่อน ()

drupal_render ()

ไม่มีการตั้งค่า ()

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.