PHP Variables Scope

PHP-তে যখন আমরা ভ্যারিয়েবল (Variable) ব্যবহার করি, তখন সেই ভ্যারিয়েবলের Scope বা “কার্যপরিধি” গুরুত্বপূর্ণ ভূমিকা পালন করে। Scope নির্ধারণ করে যে, একটি ভ্যারিয়েবল কোথা থেকে অ্যাক্সেস করা যাবে।

এই টিউটোরিয়ালে আমরা শিখবো PHP-তে ভ্যারিয়েবলের Scope কাকে বলে, কয় ধরনের হয়, এবং উদাহরণ সহ বিস্তারিত ব্যাখ্যা।


Variable Scope কী?

Variable Scope মানে হলো – একটি ভ্যারিয়েবল কোথায় ঘোষণা (declare) করা হয়েছে এবং সেই ভ্যারিয়েবলটি কোন জায়গা থেকে ব্যবহার করা যাবে।

PHP-তে মূলত ৩ ধরনের Scope আছে:

  1. Local Scope

  2. Global Scope

  3. Static Scope


1️⃣ Local Scope (লোকাল স্কোপ)

যে ভ্যারিয়েবল কোনো ফাংশনের ভেতরে তৈরি হয়, সেটিকে Local Variable বলে। এই ভ্যারিয়েবল শুধুমাত্র সেই ফাংশনের মধ্যেই কাজ করে।

✅ উদাহরণ:


<?php
function myFunction() {
$x = 10;
echo $x;
}
myFunction(); // আউটপুট: 10
echo $x; // ভুল হবে, কারণ $x লোকাল ভ্যারিয়েবল
?>


2️⃣ Global Scope (গ্লোবাল স্কোপ)

যে ভ্যারিয়েবল ফাংশনের বাইরে তৈরি হয়, সেটিকে Global Variable বলে। এটি পুরো স্ক্রিপ্টে ব্যবহারযোগ্য, তবে সরাসরি ফাংশনের ভেতরে ব্যবহার করা যায় না।


<?php
$x = 50;

function myFunction() {
echo $x; // কাজ করবে না, কারণ $x গ্লোবাল
}
myFunction();
?>


 

সমাধান (Using global keyword):


<?php
$x = 50;

function myFunction() {
global $x;
echo $x; // এখন কাজ করবে
}
myFunction(); // আউটপুট: 50
?>


 

3️⃣ Static Scope (স্ট্যাটিক ভ্যারিয়েবল)

যখন ফাংশন একাধিকবার কল করা হয়, তখন সাধারণত লোকাল ভ্যারিয়েবল মান হারিয়ে ফেলে। কিন্তু static keyword ব্যবহার করলে মান সংরক্ষিত থাকে।

✅ উদাহরণ:


<?php
function countNumber() {
static $num = 0;
$num++;
echo $num . “<br>”;
}

countNumber(); // 1
countNumber(); // 2
countNumber(); // 3
?>


 

সংক্ষেপে মনে রাখুন:

Scope কোথায় ডিক্লেয়ার কোথায় ব্যবহার করা যায় বিশেষ নিয়ম
Local ফাংশনের ভিতরে শুধু ফাংশনের ভিতরে বাইরে থেকে অ্যাক্সেস করা যায় না
Global ফাংশনের বাইরে পুরো স্ক্রিপ্টে, তবে ফাংশনে ব্যবহারে global দরকার ফাংশনের ভেতরে সরাসরি কাজ করে না
Static ফাংশনের ভিতরে শুধু ফাংশনের ভিতরে, কিন্তু মান সংরক্ষিত থাকে বারবার কল করলে মান হারায় না

 

PHP-তে ভ্যারিয়েবলের Scope বুঝা খুবই গুরুত্বপূর্ণ, বিশেষ করে বড় প্রজেক্টে। ভুল Scope ব্যবহারে বাগ (bug) বা ভুল ফলাফল আসতে পারে। তাই প্রতিটি Scope-এর নিয়ম ভালোভাবে অনুশীলন করুন।

Leave a Reply