Scope
เมื่อต้องการใช้ตัวแปรภายในไฟล์ที่รวม
ต้องมีการประกาศตัวแปรเหล่านั้นก่อนประโยคคำสั่ง require
() หรือ include () แต่เมื่อใช้ฟังก์ชันจะเป็นการส่งผ่านตัวแปรเชิงประจักษ์เหล่านั้นไปยังฟังก์ชัน
บางส่วนเป็นเพราะไม่มีกลไกส่งผ่านตัวแปรเชิงประจักษ์ไปยังไฟล์ที่รวม และบางส่วนเป็นเพราะ
scope ของตัวแปรของฟังก์ชันแตกต่างกัน
การควบคุม
scope ของตัวแปรเป็นการทำให้ตัวแปรมองเห็นได้
ใน PHP มีกฎตั้งค่า scope ดังนี้
- การประกาศตัวแปรภายในฟังก์ชันอยู่ใน scope
จากประโยคคำสั่งซึ่งตัวแปรให้รับการประกาศภายในวงเล็บปีกกา
สิ่งนี้เรียกว่า function scope ตัวแปรเรียกว่า local
variable
- การประกาศตัวแปรภายนอกฟังก์ชันอยู่ใน scope
จากประโยคคำสั่งซึ่งตัวแปรได้รับการประกาศที่สิ้นสุดแต่ไม่ใช้ภายในฟังก์ชัน
สิ่งนี้เรียกว่า global scope ตัวแปรเรียกว่า global
variable
- การใช้ประโยคคำสั่ง require
() และ include () ไม่มีผลกับ scope
ถ้าประโยคคำสั่งได้รับการใช้ภายในฟังก์ชัน ประยุกต์ด้วย function
scope ถ้าไม่ได้อยู่ภายในฟังก์ชัน ประยุกต์ด้วย global
scope
- คีย์เวิร์ด global สามารถระบุได้เองเพื่อกำหนดหรือใช้ตัวแปรภายในฟังก์ชันให้มี scope
เป็น global
- ตัวแปร สามารถลบโดยการเรียก unset
($variable_name) และตัวแปรที่ unset จะไม่มี
scope
- ตัวแปรระดับ superglobal
สามารถเข้าถึงได้ทุกส่วนในสคริปต์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น