ความแตกต่างระหว่างhide()
และunset()
คืออะไร? ฉันต้องการซ่อนองค์ประกอบบางอย่างฉันพบhide()
และunset()
แต่ฉันไม่รู้ว่าควรใช้องค์ประกอบใด
ความแตกต่างระหว่างhide()
และunset()
คืออะไร? ฉันต้องการซ่อนองค์ประกอบบางอย่างฉันพบhide()
และunset()
แต่ฉันไม่รู้ว่าควรใช้องค์ประกอบใด
คำตอบ:
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()
เรนเดอาร์เรย์ถ้าคุณต้องการที่จะใช้ที่อื่น
หากคุณต้องการที่จะซ่อนองค์ประกอบแบบฟอร์มบางอย่างจากผู้ใช้ แต่ยังคงต้องการที่จะให้โครงสร้างรูปแบบการตั้งค่าขององค์ประกอบที่จะ#access
FALSE