الدرس الثامن : شرح برمجة php من الصفر

احمد محمود

الدرس الثامن: نطاق المتغيرات (Variable Scope) في PHP

في الدرس ده هنتكلم عن مفهوم نطاق المتغيرات (Variable Scope) في PHP. النطاق بيوضح مكان المتغيرات اللي ممكن تستخدم فيه، سواء جوه أو بره دالة معينة.



إيه هو نطاق المتغيرات؟

نطاق المتغيرات هو المدى اللي فيه المتغير بيبقى متاح للاستخدام. المتغير ممكن يبقى ليه نطاق محلي (داخل دالة) أو نطاق عام (خارج الدالة وبيكون متاح في كل الكود).

النطاق العام (Global Scope)

المتغيرات اللي بتتعرف بره الدوال ليها نطاق عام (Global). يعني ممكن تتستخدم في أي مكان في الكود، إلا لو كنت جوه دالة لأن الدالة ليها نطاق خاص بيها. تعالوا نشوف مثال:

<?php

$greeting = "أهلاً";

function sayGreeting() {

    echo $greeting;  // هيطلع خطأ لأن المتغير $greeting مش متاح داخل الدالة

}

sayGreeting();

?>

  

في المثال ده، المتغير $greeting معرف بره الدالة. لكن لما جينا نستخدمه جوه الدالة sayGreeting، حصل خطأ لأن المتغير مش متاح في النطاق الخاص بالدالة.

النطاق المحلي (Local Scope)

المتغيرات اللي بتتعرف جوه الدوال ليها نطاق محلي (Local)، يعني بتبقى متاحة جوه الدالة بس. تعالوا نشوف مثال:

<?php

function sayGreeting() {

    $greeting = "أهلاً";

    echo $greeting;

}

sayGreeting();  // هيطبع "أهلاً"

echo $greeting;  // هيطلع خطأ لأن المتغير $greeting مش متاح خارج الدالة

?>

  

في المثال ده، المتغير $greeting معرف جوه الدالة sayGreeting، وبالتالي هو متاح بس جوه الدالة. لو حاولنا نستخدمه بره الدالة هيحصل خطأ.

استخدام المتغيرات العامة جوه الدوال

لو عايز تستخدم متغير عام جوه دالة، لازم تستخدم الكلمة المحجوزة global عشان تقول لـ PHP إن المتغير ده عام. تعالوا نشوف مثال:

<?php

$greeting = "أهلاً";

function sayGreeting() {

    global $greeting;

    echo $greeting;

}

sayGreeting();  // هيطبع "أهلاً"

?>

  

في المثال ده، استخدمنا global عشان نستخدم المتغير $greeting اللي معرف بره الدالة. دلوقتي بقى ممكن نطبعه جوه الدالة من غير مشاكل.

المصفوفة $GLOBALS

ممكن كمان تستخدم المصفوفة $GLOBALS عشان توصل لأي متغير عام جوه الدالة. المصفوفة دي بتحتوي على كل المتغيرات العامة اللي موجودة في الكود. تعالوا نشوف مثال:

<?php

$greeting = "أهلاً";

function sayGreeting() {

    echo $GLOBALS['greeting'];

}

sayGreeting();  // هيطبع "أهلاً"

?>

  

في المثال ده، استخدمنا المصفوفة $GLOBALS عشان نوصل للمتغير $greeting جوه الدالة من غير ما نستخدم global.

ملخص الدرس

  • اتعلمنا يعني إيه نطاق المتغيرات (Variable Scope) وإزاي بنحدد مكان استخدام المتغيرات في الكود.
  • اتعرفنا على النطاق العام (Global Scope) والنطاق المحلي (Local Scope) وإزاي نستخدمهم.
  • اتعلمنا إزاي نستخدم المتغيرات العامة جوه الدوال باستخدام global أو $GLOBALS.

في الدرس اللي جاي، هنتكلم عن كيفية التعامل مع الملفات (File Handling) في PHP، وإزاي نقرأ ونكتب البيانات في الملفات.

إرسال تعليق

شاهد أيضاً :-
Cookie Consent
تعريف الارتباط

نستخدم ملفات تعريف الارتباط لضمان حصولك على أفضل تجربة.

Oops!
يبدو أن هناك مشكلة في اتصالك بالإنترنت. يرجى الاتصال بالإنترنت والمحاولة مرة أخرى.
AdBlock Detected!
لقد اكتشفنا أنك تستخدم إضافة حظر الإعلانات في متصفحك.
يتم استخدام الإيرادات التي نحصل عليها من الإعلانات لإدارة هذا الموقع، لذا نرجو منك إضافة موقعنا إلى القائمة البيضاء في إضافة حظر الإعلانات الخاصة بك.
Site is Blocked
Sorry! This site is not available in your country.