$GLOBALS
ฺBY Anuthep Thamlikhit 630710686
ก่อนที่เราจะพูดถึงเรื่อง $GLOBALS และ$SERVER เราต้องรู้ก่อนว่า Superglobals ใน PHP คืออะไร
ตัวแปรทั่วโลกของ PHP - Superglobals ตัวแปรที่กำหนดไว้ล่วงหน้าบางตัวใน PHP คือ "Superglobals" หมายความว่า สามารถเข้าถึงได้ตลอดเวลาโดยไม่คำนึงถึงขอบเขตและสามารถเข้าถึงได้จากฟังก์ชัน คลาส หรือไฟล์ใดๆ โดยไม่ต้องทำอะไรเพิ่มเติม
GLOBALS in PHP
GLOBALS in PHP เป็นตัวแปรใน Superglobal เป็นอาร์เรย์ที่เก็บตัวแปรขอบเขตส่วนกลางทั้งหมด ใช้เพื่อเข้าถึงตัวแปรส่วนกลางจากทุกที่ในโปรแกรม PHP หากต้องการใช้ตัวแปร Global ภายในฟังก์ชันหรือต้องการใช้ค่าตัวแปรนอกฟังก์ชัน จะต้องกำหนดให้ตัวแปรเป็น Global โดยการใช้คีย์เวิร์ด $GLOBALS หรืออ้างอิงถึงตัวแปรเหล่านั้นโดยใช้ไวยากรณ์ $GLOBALS['ชื่อตัวแปร'] หรือ global
syntax
$GLOBALS['ชื่อตัวแปร'] หรือ global ชื่อตัวแปร
ตัวอย่างพร้อมคำอธิบาย
ตัวอย่างที่ไม่ใส่ $GLOBALS หรือ global
เมื่อไม่ใส่ $GLOBALS หรือ global ใน PHP ก็จะไม่ปรากฏผลลัพธ์เมื่ออ้างถึงตัวแปรโดยไม่มีไวยากรณ์ $GLOBALS
<?php
$x = 75;
function myfunction() {
echo $x;
}
myfunction()
?>ตัวอย่างที่มีการอ้างถึง $GLOBALS
EX 1.1 ) เราสร้างตัวแปร x ให้มีค่าเท่ากับ 75 และสร้างฟังก์ชันชื่อ myfunction โดยใช้คำสั่ง $GLOBALS [] และทำการใส่ชื่อตัวแปรลงในวงเล็บเช่น $GLOBALS['x' ] เป็นต้น และเมื่อทำคำสั่งเสร็จภายในฟังก์ชัน เมื่อใดที่เราเรียกใช้ฟังก์ชัน เราก็จะได้ค่า x หรือ 75 ออกมา
EX1.2) เราสร้างตัวแปร x ให้มีค่าเท่ากับ 15 และสร้างฟังก์ชันชื่อ myfunction และ ใช้คำสั่ง globalตามด้วยชื่อตัวแปร เช่น global $x ในการการเข้าถึง x จากด้านนอกฟังก์ชัน หลังจากนั้นเมื่อเราเรียกใช้ฟังก์ชัน ฟังก์ชันก็จะสามารถเข้าถึงตัวแปร x จากด้านนอกได้และได้ค่า x หรือ 15 ออกมา
แสดงผลลัพธ์
นี่คือความแตกต่างจากภาษาการเขียนโปรแกรมอื่น ๆ เพราะการที่มีตัวแปร Global ให้ใช้งาน เราจึงไม่ต้องอ้างอิงถึงตัวแปร Global โดยเฉพาะ
เปรียบเทียบกับ Python และ Javascript
Global in Python
ใน Python ตัวแปร Global คือตัวแปรที่กำหนดไว้ภายนอกฟังก์ชันหรือคลาสใด ๆ ทำให้สามารถเข้าถึงได้จากทุกที่ภายในโปรแกรม ตัวแปรร่วมไม่ได้จำกัดอยู่เพียงขอบเขตเฉพาะเหมือนตัวแปรภายในเครื่องที่ถูกกำหนดไว้ภายในฟังก์ชันเฉพาะและสามารถเข้าถึงได้ภายในฟังก์ชันนั้นเท่านั้น ตัวแปรร่วมมีบทบาทสำคัญในการจัดเก็บข้อมูลที่จำเป็นต้องเข้าถึงและจัดการในขอบเขตหรือฟังก์ชันต่าง ๆ ภายในโปรแกรม การที่เรากำหนดตัวแปรให้เป็นส่วนกลางจะทำให้มีความพร้อมในการใช้งานสำหรับฟังก์ชันและโมดูลทั้งหมดในโค้ดเบสของคุณ
ตัวอย่าง PHP และ Python พร้อมคำอธิบาย
ใน PHP เมื่อตัวแปร x เท่ากับ cat และ y เท่ากับ dog ภายในฟังก์ชันเราประกาศ global ให้ x เพื่อให้ภายในฟังก์ชันเข้าถึงค่าของ x และปริ้นออกมาได้ หรือ เราจะใช้
$GLOBALS['ชื่อตัวแปร']อย่างเช่น$GLOBALS['y']ก็สามารถเข้าถึง y นอกฟังก์ชันได้เหมือนกันใน Python ตัวแปรที่ถูกสร้างภายนอกฟังก์ชัน เรียกว่าตัวแปรทั่วโลกทุกคนสามารถใช้ตัวแปรทั่วโลกได้ทั้งในฟังก์ชั่นและภายนอกฟังก์ชั่น อย่างเช่นตัวอย่าง สร้างตัวแปร var ให้เป็น global และสร้างปริ้นได้ทั้งนอกและในฟังก์ชัน
ตัวอย่างนี้จะเห็นได้ว่าเรามีตัวแปร x ในฟังก์ชันและถ้าเราทำการปริ้นตัวแปร x นอกฟังก์ชันเลยจะเกิดการ Error เราเลยจำเป็นต้องใช้ตัวแปร globla เข้ามาช่วยให้มันสามารถใช้นอกฟังก์ชันได้และปริ้นออกมาได้
ในตัวอย่างนี้หากต้องการเปลี่ยนค่าของตัวแปรทั่วโลกภายในฟังก์ชัน ให้อ้างอิงตัวแปรโดยใช้ global
แสดงผลลัพธ์
Global in Javascript
ตัวแปรที่ประกาศทั่วโลก (นอกฟังก์ชัน) มีขอบเขตทั่วโลก ตัว Global สามารถเข้าถึงได้จากทุกที่ในโปรแกรม JavaScript โดยตัวแปรที่ประกาศด้วย var, let และ const จะค่อนข้างคล้ายกันเมื่อประกาศนอกบล็อกและร่วมไปถึงอ็อบเจ็กต์ส่วนกลางของ JavaScript ช่วยให้คุณเข้าถึงตัวแปร ฟังก์ชัน อ็อบเจ็กต์ ที่กำหนดไว้ในขอบเขตรวมและพร้อมใช้งานทุกที่ในโค้ดร่วมทั้ง globalThis กับ กระประกาศแบบสร้างObject เช่นกัน
ตัวอย่าง PHP และ Javascript พร้อมคำอธิบาย
PHP เรามีตัวแปร x เท่ากับ 15 และ y เท่ากับ 10 ภายในฟังก์ชันเราประกาศ globalให้ x เพื่อให้ภายในฟังก์ชันเข้าถึงค่าของ x และปริ้นออกมาได้ หรือ เราจะใช้ $GLOBALS['ชื่อตัวแปร'] อย่างเช่น $GLOBALS['y'] ก็สามารถเข้าถึง y นอกฟังก์ชันได้เหมือนกัน
ในตัวอย่างนี้ เราจะประกาศตัวแปรในขอบเขตทั่วโลก เพื่อให้สามารถเข้าถึงได้จากทุกที่ในโปรแกรม เราจะเห็นว่าตัวแปรpetNameถูกประกาศไว้ในขอบเขตสากลและสามารถเข้าถึงได้ง่ายภายในฟังก์ชัน นอกจากนี้ Fruit ถูกประกาศไว้ในฟังก์ชันโดยไม่มีคำสำคัญใดๆ ดังนั้นจึงถือว่าเป็นตัวแปรสากลและสามารถเข้าถึงได้ภายในฟังก์ชันอื่น
Javascript จะมี 1 วิธีคือการใช้ globalThis.ชื่อตัวแปร ก็จะสามารถเข้าถึงได้จากทุกที่ในโปรแกรม
แสดงผลลัพธ์
สรุป
PHP: $GLOBALS เป็น superglobal array ที่ให้การเข้าถึงตัวแปรทั้งหมดในสโคป global โดยตรงจากทุกที่ในสคริปต์.
Python: ไม่มีโครงสร้างเฉพาะ แต่ใช้คำสั่ง global เพื่อเข้าถึงหรือแก้ไขตัวแปร global ภายในฟังก์ชัน.
JavaScript: ตัวแปร global สามารถสร้างได้โดยไม่ใช้ var, let, หรือ const, และเข้าถึงได้จากทุกที่ในสคริปต์.
แหล่งข้อมูลที่ใช้อ้างอิง
The PHP Group. (n.d.). $_GLOBALS - PHP Manual. PHP.net. ดึงข้อมูลเมื่อ 12 ตุลาคม 2024, จาก https://www.php.net/manual/en/reserved.variables.globals.php
W3Schools. (n.d.). PHP Tutorial. W3Schools.com. ดึงข้อมูลเมื่อ 12 ตุลาคม 2024, จาก https://www.w3schools.com/php/default.asp
CodeWithHarry. (n.d.). PHP Tutorial. CodeWithHarry.com. ดึงข้อมูลเมื่อ 12 ตุลาคม 2024, จาก https://www.codewithharry.com/tutorial/php/
TutorialsPoint. (n.d.). PHP Tutorial. TutorialsPoint.com. ดึงข้อมูลเมื่อ 12 ตุลาคม 2024, จาก https://www.tutorialspoint.com/php/index.htm
GeeksforGeeks. (n.d.). PHP Tutorial. GeeksforGeeks.org. ดึงข้อมูลเมื่อ 12 ตุลาคม 2024, จาก https://www.geeksforgeeks.org/php-tutorial/?ref=outind
JavaTpoint. (n.d.). PHP Tutorial. JavaTpoint.com. ดึงข้อมูลเมื่อ 12 ตุลาคม 2024, จาก https://www.javatpoint.com/php-tutorial
Slide:
Clips:
Last updated