ฉันรู้ว่าอันนี้เก่าจริง ๆ แต่มีห้องพักสำหรับการปรับปรุง
คุณควรพิจารณาใช้ $ GLOBALS ['หมวดหมู่'] แทนที่จะเป็นเพียงทั่วโลก
มีสองเหตุผลสำหรับสิ่งนี้:
- เราไม่ต้องเขียน
global $categories;
ทุกครั้ง
- มันชัดเจนแล้วเรากำลังใช้ทั่วโลกและไม่
พิจารณารหัสนี้:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
เฉพาะในกรณีที่เราเริ่มต้นสถานะโลกก่อนที่จะใช้ตัวแปรมันเป็นเรื่องยากที่จะบอกว่ามันเป็นโลกหรือไม่ และอย่าลืมทำซ้ำในไฟล์เทมเพลตที่คุณมี
เป็นไปได้ที่จะใช้การตั้งชื่อแบบแผนสำหรับสิ่งนั้น แต่มีวิธีที่ดีกว่าในความคิดของฉัน
$GLOBALS['categories']
พิจารณาใช้
เราต้องเริ่มต้นตัวแปรของเราเพียงครั้งเดียวใน function.php โดยไม่ต้องคิดglobal $categories
อีกครั้ง และเราสามารถเห็นได้ว่ามันเป็นระดับโลก
print_r ($GLOBALS['categories']);
ปัญหาประสิทธิภาพการทำงานไม่ใช่ปัญหาเลยในสถานการณ์นี้ ฉันจะพูด Sara Golemon ( ลิงก์ ):
สิ่งนี้มีความหมายอย่างไรต่อการใช้งานอาร์เรย์ $ GLOBALS ของคุณ ถูกต้องแล้วคำหลักสากลนั้นเร็วกว่าทางเทคนิค ตอนนี้ฉันต้องการที่จะชัดเจนเกี่ยวกับสิ่งหนึ่งที่นี่ ความเร็วในการจ่ายเล็กน้อยที่กำหนดโดยใช้ globals ของคุณเป็น [ตัวแปรรวบรวม] ที่แปลเป็นภาษาท้องถิ่นจะต้องมีการชั่งน้ำหนักอย่างจริงจังต่อความสามารถในการบำรุงรักษาของการดูรหัสของคุณในห้าปีและรู้ว่า $ foo มาจากขอบเขตทั่วโลก something_using ($ GLOBALS [ 'foo']); จะทำให้คุณชัดเจนยิ่งกว่าบรรทัดที่ $ foo ทั่วโลก; / * รหัส buncha * / something_using ($ foo); อย่าเป็นคนฉลาดและต้องโง่เขลา ..