آموزش طراحی سایتآموزش PHP

محدوده عملکرد متغیرها در PHP

دوره آموزش PHP به زبان ساده – محدوده عملکرد متغیرها در PHP

سلام دوستان برنامه نویس، در ادامه دوره آموزش PHP در خدمت شما هستیم در قسمت قبل به موضوع انواع داده‌ها در PHP پرداختیم، در این جلسه قصد داریم درباره محدوده عملکرد یک متغیر در پی اچ پی یا دامنه عملکرد متغیرها یا به انگلیسی variables scope صحبت کنیم.متغیرهای PHP میتوانند در هر جایی از اسکریپت نمایان شوند(اسکریپت به مجموعه از کدها گفته میشود). دامنه عملکرد یک متغیر (variable scope) بخشی از اسکریپت است که متغیر در آن به کار می‌رود و یا به آن ارجاع داده میشود.

دامنه هایی که بیشتر از بقیه در PHP استفاده میشوند عبارت اند از:

  • محلی (Local)
  • سراسری(Global)
  • ایستا (static)

متغیر محلی در PHP چیست؟

به متغیری که درون یک تابع مشخص می‌شود متغیر محلی یا (local scope) گفته می‌شود این متغیر فقط درون آن تابع قابل دسترسی است.

متغیر سراسری در PHP چیست؟

به متغیری که خارج از یک تابع (Function) مشخص می‌شود متغیر سراسری یا (Global scope) گفته می‌شود این متغیر فقط خارج از یک تابع قابل دسترسی است.

مثال زیر را در نظر بگیرید:

<?php
  $name = 'pouria';

  function getName() {
    $nametwo = 'ali';
  }

?>

متغیر name یک متغیر سراسری (Global scope) است و در تابع getName قابل دسترسی نیست در صورت استفاده از تابع با پیغام خطا مواجه میشویم و فقط در خارج از تابع میتوان از آن استفاده کرد حال برعکس همین موضوع برای متغیر nametwo صدق میکند متغیر nametwo فقط در داخل تابع دسترسی دارد و خارج از آن تابع نمیتوان از آن استفاده کرد.

توابع در درس‌های آینده مورد بحث قرار خواهند گرفت.

کلمه کلیدی global پیش از نام متغیر چیست؟

کلمه کلیدی گلوبال (global) به منظور دسترسی به یک متغیر global از درون یک تابع به کار می‌رود به مثال زیر توجه کنید

<?php
  $name = 'pouria';

  function getName() {
    global $name;
    $nametwo = 'ali';
  }

?>

با استفاده از کلمه کلیدی global میتوانیم به متغیر خارج از تابع دسترسی داشته باشیم و از آن در داخل تابع استفاده کنیم.

static در PHP چیست؟

اگر درون تابع متغیری از نوع Static تعریف کنیم، تنها داخل همان تابع به متغیر مذکور دسترسی خواهیم داشت و آخرین مقدار تنظیم شده برای متغیر از نوع Static حفظ خواهد شد و همیشه به آن دسترسی وجود خواهد داشت.
تصور فرمایید، کاربر شماره 1 وارد برنامه شده و باعث اضافه شدن یک واحد به متغیر Static شود، حالا اگر کاربر شماره 2 وارد برنامه شود، آخرین مقدار متغیر static را مشاهده خواهد کرد و می توند 1 واحد به آن اضافه کند
یک مثال واقعی برای متغیر Static، استفاده از آن برای نمایش آمار تعداد کاربران “میهمان” یا “اعضا” است.

<?php
function myFun() {
    static $var = 0;
    echo $var;
    $var++;
}

myFun();
myFun();
myFun();
?>

در این مثال لازم نیست شما کامل تابع را درک کنید صرفا مثالی زده شده برای درک static. تابع myFun با هر بار اجرا یک مقدار به متغیر var اضافه میکند ولی اگر کلمه کلیدی static پشت متغیر var نباشد چه میشود؟ تابع myFun هر بار اجرا میشود و مقدار متغیر var را از صفر به یک تغییر میکند ولی دوباره بعد از اتمام تابع متغیر var صفر میشود ولی اگر static قبل متغیر var قرار دهیم اخرین مقدار متغیر نگه داشته میشود و با هر بار اجرا تابع مقدار ان افزایش میابد مثلا در مثال بالا ۳ بار تابع myFun قراخوانی شده و مقدارش از صفر به یک و در نهایت به دو تغیر یافته. هر زمان که تابع صدا زده می شود، آخرین مقدار متغیر static، حفظ می شود.

این جلسه هم به پایان رسید اگر سوالی داشتید حتما در نظرات میزفا مطرح کنید. در این دوره آموزش پی اچ پی با ما همراه باشید و در آینده نزدیک درخواهید یافت که یادگیری PHP چقدر آسان هست و چه مزیت‌هایی می‌تواند در کسب‌وکار شما داشته باشد.

برچسب ها

پوریا آریافر

اولین کسب و کار آنلاین خودم را در فیسبوک راه‌اندازی کردم و در سال ۲۰۱۱ یکی از پرتعامل‌ترین صفحات فارسی با ۸۰ هزار فالور فعال را داشتم. سپس وارد دنیای شبکه شدم و در انتهای سال ۲۰۱۲ مدرک MCSE مایکروسافت را دریافت کردم، در دوران خدمت سربازی مسئول بهینه سازی یک وبسایت خبری معتبر شدم و آشنایی با سئو را آموختم و در سال ۲۰۱۴ توانستم به رتبه ۴۰۰ الکسا نزدیک کنم. برخلاف میل درونی، وارد دانشگاه شدم و سه ساله در مقطع کارشناسی IT فارغ التحصیل شدم، در همان سال بزرگ‌ترین کانال تلگرامی IT با ۴۰ هزار عضو را داشتم، که فروختم تا بتوانم تمرکز را فقط بر روی سئو بگذارم، فعالیت‌های سئو به شکل تخصصی بنده در قالب پروژه‌های مختلف و آموزش‌های حضوری و غیرحضوری در دفتر میزفا و دانشگاه علامه طباطبایی تهران صورت ‌می‌گیرد، تجربه بهینه سازی موفقی در بهبود UX و CRO پروژه‌های سئو کسب کرده‌ام. در اکثر ابزارهای کاربردی گوگل تسلط کاملی دارم. عاشق کسب تجربه های جدید هستم. راز پیشرفت در هر کاری را یادگیری و یاددادن می‌دانم و میزفا که در اواخر ۲۰۱۶ راه‌اندازی شده، می‌تواند چنین بستر مناسبی را فراهم کند. نقد و بازخوردهای سازنده شما، جوهر تلاش‌های مستمر ماست تا یک قدم خودمون بهبود بدیم. منتظریم ...

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر