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
สามารถเข้าถึงได้ทุกส่วนในสคริปต์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น