Skip to main content

لرن بلاگ

تصویر بنر مقاله تعریف متغیر در php

تعریف متغیر در php: نکات و راهنمایی‌های لازم برای پی اچ پی

مقدمه

در این مقاله قرار است به موضوع تعریف متغیر در php بپردازیم. بعد از درک صحیح این زبان برنامه نویسی و پاسخ به پرسش پی اچ پی چیست؟، یکی از مهمترین مسائل در این راستا آموزش زبان php مقدماتی است. از مباحث مقدماتی مهم در زبان php، تعریف متغیر در php است. درک قواعد نام‌گذاری متغیرها، چگونگی مقداردهی به آن‌ها و بهترین رهنمودها در این زمینه برای هر برنامه نویس php ضروری است. گرچه مباحث مقدماتی زبان php ساده به نظر می‌آیند، اما رعایت نکردن همین نکات ساده ممکن است باعث ایرادهایی در کدنویسی شما شود و بعد از آن باید مدت‌های زیادی را زمان صرف کنید تا تازه متوجه شوید که ایراد کار شما از کجاست؟ پس هنگام یادگیری برنامه نویسی سایت سعی کنید همین مباحث اولیه را هم جدی بگیرید. بعداً می‌توانید از آنها در کارها و پروژه‌های بزرگتر مانند ساخت نرم‌افزارهای تحت وب یا طراحی و توسعه قالب یا افزونه وردپرس استفاده کنید.

تعریف متغیر در php چگونه است؟

متغیرها در php برای ذخیره کردن داده‌ها مورد استفاده قرار می‌گیرند. این داده‌ها در طی کدنویسی شما قرار است کارهای مهمی انجام دهند یا دچار تغییر و تحولات شوند. اما همه این مباحث از تعریف متغیر در php آغاز می‌گردد. برای تعریف متغیر از علامت دلار ($) استفاده می‌شود و بعد از آن نام متغیر قرار داده می‌شود.

مثال‌های زیر نمونه‌هایی از تعریف متغیر در php هستند:

$numberme = 10;
$my_name = "Hamid";
$my_boolean = True;

در این مثال‌ها سه متغیر $numberme (از نوع اعداد)، $my_name (از نوع رشته) و $my_boolean (از نوع عبارت منطقی) تعریف شده‌اند.

بعد از تعریف و مقداردهی این متغیرها می‌توانید از آن‌ها در سایر قسمت‌های کد خود استفاده کنید. اما تعریف متغیرها قواعدی هم دارد.

قواعد تعریف متغیر در php

برای تعریف یک متغیر باید نکات زیر را در نظر داشته باشید:

  • نام متغیر باید با یک حرف انگلیسی یا علامت زیرخط1Underscore (به صورت مثلاً _myname) آغاز شود.
  • به طور کلی در نام‌گذاری یک متغیر تنها مجاز هستید از حروف انگلیسی، اعداد یا علامت زیرخط استفاده کنید.
  • توجه داشته باشید که نام متغیرها در php نسبت به حروف بزرگ و کوچک حساس هستند. لذا اگر نام‌گذاری شما $name باشد و بعد در هنگام استفاده از متغیر، $Name تایپ کنید، کد شما خطا خواهد داد.

بایدها و نبایدهای نام‌گذاری متغیرها

در دنیای php برای نام‌گذاری متغیرها قواعدی تعریف شده است. می‌توان آنها را بایدها و نبایدهای نام‌گذاری متغیرها در پی اچ پی دانست. گرچه رعایت نکردن برخی از این موارد شاید منجر به خطای برنامه نویسی نشود، اما بهتر است هنگام کدنویسی به این نکات توجه داشته باشید:

بایدهانبایدها
از اسامی معنادار و مناسب که کار متغیر را توصیف می‌کند، استفاده کنید.نام‌گذاری متغیرها با تک حرف زیاد مناسب نیست، مگر برای کاربری‌های موقت.
از حالت کمل کیس (camelCase) برای نام‌گذاری متغیرها استفاده کنید.از نام‌گذاری متغیرها که با عدد شروع شود، اجتناب کنید.
نام متغیر باید با یک حرف یا علامت Underscore آغاز شود.در نام‌گذاری متغیرها نمی‌توانید از کاراکترهای خاص مانند @ یا # استفاده کنید.
سعی کنید در کل کدنویسی خود، از قواعد یکسانی برای نام‌گذاری متغیرها پیروی کنید.از کلمات ذخیره شده php برای نام‌گذاری یک متغیر استفاده نکنید!
اگر از حالت camelCase برای نام‌گذاری استفاده نمی‌کنید، جهت جدا کردن کلمات در نام متغیر از زیرخط بهره ببرید.از حالت‌های به‌هم‌ریخته (استفاده از ترکیب حروف کوچک و بزرگ و … به صورت بی‌هدف) در نامگذاری اجتناب کنید.
معمولا برای نام‌گذاری متغیرها که قرار است در طول برنامه مقدارشان تغییر کند، عمدتاً از حروف کوچک استفاده می‌شود.نام‌گذاری یک متغیر با حروف بزرگ (تمامی حروف بزرگ باشند) معمولاً رایج نیست. این کار بیشتر برای تعریف ثابت‌ها (پارامترهای با مقدار ثابت در طول برنامه) انجام می‌گیرد.

محدوده متغیرها در php

یکی از نکات مهمی که هنگام تعریف متغیر در php باید در نظر داشته باشید، مفهوم scope یا محدوده اثرگذاری متغیرها است. در php سه نوع scope وجود دارد:

  • اسکوپ محلی2Local Scope
  • اسکوپ سراسری3Global Scope
  • اسکوپ استاتیک4Static Scope

در ادامه به توضیح هر یک می‌پردازیم.

محدوده Local برای تعریف متغیر در php

منظور از Local Scope در پی اچ پی آن است که مثلاً اگر متغیری را در داخل یک تابع تعریف کنید، محدوده اثرگذاری این متغیر فقط در داخل همان تابع است. اگر شما خارج از آن تابع، متغیر را فراخوانی کنید، با خطا مواجه می‌شوید:

function myFunction() {
  $localVar = "I'm local";
  echo $localVar;
}
myFunction(); // Outputs: I'm local
echo $localVar; // Error: Undefined variable $localVar

در حالیکه اگر خط آخر را از کد فوق حذف کنید، همان‌طور که در تصویر زیر می‌بینید، بعد از فراخوانی تابع، مقدار متغیر محلی که درون تابع تعریف شده، نمایش داده می‌شود.

نمایش یک متغیر local در پی اچ پی

متغیرهای با محدوده سراسری

در نقطه مقابل، متغیرهای Global Scope قرار دارند. منظور از یک متغیر سراسری یا global در php چیست؟ متغیری که در خارج از محدوده توابع و به صورت آزاد تعریف می‌شود، دارای اسکوپ global است. اما باید توجه داشته باشید که اگر بخواهید از آن متغیر در داخل یک تابع استفاده کنید، باید کلیدواژه global را قبل از نام متغیر ذکر کنید. برای درک بهتر موضوع، به کد زیر دقت کنید:

$globalVar = "I'm global";
function myFunction() {
  global $globalVar;
  echo $globalVar;
}

myFunction(); // Outputs: I'm global

echo $globalVar; // Outputs: I'm global

در این مثال، متغیر $globalVar دارای اسکوپ سراسری است. ملاحظه کنید هنگامی که می‌خواستیم آن را در داخل تابع myFunction استفاده کنیم، کلیدواژه global را به کار بردیم.

تعریف متغیرهای Static Scope

هنگام تعریف متغیر در php می‌توان محدوده یا اسکوپ آن را به صورت استاتیک تعریف کرد. این کار با به کار بردن کلیدواژه static در داخل توابع امکان‌پذیر است. به مثال زیر توجه کنید:

function myFunction() {
  static $count = 0;
  $count++;
  echo $count;
}
myFunction(); // Outputs: 1
myFunction(); // Outputs: 2
myFunction(); // Outputs: 3

احتمالاً با بررسی این کد متوجه شده‌اید که متغیر دارای اسکوپ استاتیک، متغیری است که مقدار آن در هر بار فراخوانی تابع حفظ می‌شود. یعنی مقدار قبلی (هنگام فراخوانی قبلی) در حافظه آن باقی می‌ماند. در مثال فوق هم هر بار که تابع فراخوانی می‌شود، یک مقدار به مقدار قبلی متغیر $count افزوده می‌شود.

عملگرها و دستورهای مرتبط با متغیرها

در php انواع مختلفی از متغیرها را می‌توان تعریف کرد. بسته به نوع متغیر می‌توان عملگرها یا دستورهای مختلفی را بر روی متغیر به کار گرفت. بنابراین آشنایی با این دستورات می‌تواند گام بعدی شما پس از یادگیری تعریف متغیر در php باشد.

هدف ما در اینجا معرفی تمامی دستورها یا عملگرها نیست! اما به جهت اینکه آشنایی بیشتری با مبحث متغیرها داشته و در عمل نحوه کار با آنها را ببینید، به ذکر چند مثال می‌پردازیم.

مثلاً می‌توانید از دستور echo برای نمایش مقدار متغیر در صفحه موردنظر کمک بگیرید.

$x = 1;
$y = 2;
$sum = $x + $y;
echo $sum; // prints out 3

نکته دیگری که در کد فوق هم قابل ملاحظه است، استفاده از عملگر جمع بر روی دو متغیر تعریف‌شده است. قابل درک است که می‌توانید عملگرهای ریاضی مانند جمع یا تفریق را بر روی متغیرهای تعریف‌شده، اعمال کنید. سپس خروجی آنها را با دستور echo نمایش دهید.

از جمله دستورهای دیگری که در کار با متغیرها و در واقع برای نمایش خروجی متغیرها به کار می‌رود، دستور print_r() است.

در کد زیر نحوه استفاده از این دستور برای نمایش خروجی یک آرایه را مشاهده می‌کنید. ابتدا متغیر $b را از نوع آرایه تعریف کرده‌ایم و سپس با این دستور، خروجی یا مقدار آن را نمایش داده‌ایم.

$b = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
print_r($b);

جمع‌بندی

در این مقاله به معرفی متغیرها در php پرداختیم. گفتیم که برای تعریف متغیر در php قواعد خاصی وجود دارد. در مورد محدوده اثرگذاری متغیرهای تعریف‌شده نیز توضیحاتی ارائه شد. دستورها و عملگرهایی که می‌توان بر روی متغیرها در پی اچ پی به کار گرفت، بیان شدند. البته زبان php پر است از دستورها و توابع مختلف که توصیه می‌کنیم برای یادگیری عمیق‌تر آن، حتماً یک کتاب آموزش php را مطالعه بنمایید.

پاورقی:

در صورتی که از خواندن مقاله فوق لذت برده‌اید، احتمالا مطالب کتاب های زیر نیز می تواند برای شما مفید باشد. توصیه لرن بلاگ آن است که چنین کتاب هایی را تهیه کرده یا در صورت وجود نسخه آنلاین، به مطالعه آنلاین آنها بپردازید: