Comment

PHP ফাংশন (Functions)

PHP ভেরিয়েবল স্কোপ (Variable scopes)

Estimated reading: 2 minutes 24 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি PHP Variable Scopes সম্পর্কে শিখবেন, যা code-এর part নির্দিষ্ট করে যা একটি variable access করতে পারে।

PHP ভেরিয়েবল স্কোপ এর পরিচিতিঃ

একটি ভেরিয়েবলের সুযোগ নির্ধারণ করে যে কোডের কোন অংশ এটি এক্সেস করতে পারে। ভেরিয়েবলের অবস্থান যেখানে অ্যাক্সেসযোগ্য হতে পারে সেখানে ভেরিয়েবলের সুযোগ নির্ধারণ করে।

PHP -তে, ভেরিয়েবলের চার ধরনের স্কোপ রয়েছে:

  • Local
  • Global
  • Static
  • Function parameters

লোকাল ভেরিয়েবল

আপনি যখন একটি ফাংশনের মধ্যে একটি variable ডিফাইন করেন, আপনি শুধুমাত্র function-এর মধ্যে সেই ভেরিয়েবল-টি এক্সেক করতে পারেন। এবং এইটাকে বলা হয় ফাংশনের লোকাল ভেরিয়েবল ।

নিম্নলিখিত উদাহরণটি say() ফাংশনটি ডিফাইন করে যা 'Hi' বার্তা প্রদর্শন করে:

<?php

function say()
{
	$message = 'Hi';
	echo $message;
}

say() function-এর ভিতরে, আমরা  $message ভেরিয়েবল-কে ডিফাইন করি। $message ভেরিয়েবল হল একটি লোকাল ভেরিয়েবল । এবং আপনি say() ফাংশনের বাইরে থেকে এটি এক্সেস করতে পারবেন না।

এছাড়াও,  $message ভেরিয়েবল শুধুমাত্র say() ফাংশন কার্যকর করার সময় বিদ্যমান থাকে। একবার say() function শেষ হয়ে গেলে,  $message ভেরিয়েবল আর থাকবে না।

গ্লোবাল ভেরিয়েবল

আপনি যখন একটি ফাংশনের বাইরে একটি ভেরিয়েবল ঘোষণা করেন, তখন ভেরিয়েবল গ্লোবাল হয়। এর মানে হল যে আপনি ফাংশন ব্যতীত স্ক্রিপ্টের মধ্যে যে কোনও জায়গায় ভেরিয়েবল এক্সেস করতে পারেন।

উদাহরণ স্বরূপ:

<?php

$message = 'Hello';

function say()
{
	$message = 'Hi';
	echo $message;
}

echo $message; // Hello

এই স্ক্রিপ্টে, আমাদের কাছে একই নামের দুটি ভেরিয়েবল $message রয়েছে  ।

প্রথম ভেুরিয়েবল হল গ্লোবাল ভেরিয়েবল, কারণ আমরা এটিকে ফাংশনের বাইরে ডিফাইন করি। আমরা ফাংশনের ভিতরে যে $message ভেরিয়েবলকে ডিফাইন করি সেটি হল লোকাল ভেরিয়েবল. যদিও এই ভেরিয়েবলের নাম একই, কিন্তু তারা দুটি ভিন্ন ভেরিয়েবল

PHP গ্লোবাল কীওয়ার্ড ব্যবহার করে এবং ফাংশনের মধ্যে একটি গ্লোবাল ভেরিয়েবল এক্সেস করতে দেয়।

উদাহরণ স্বরূপ:

<?php

$message = 'Hello';

function say()
{
	global $message;
	echo $message; // Hello
}

say();

এটা কিভাবে কাজ করে

  • প্রথমে,  $message নামক একটি গ্লোবাল ভেরিয়েবল ডিফাইন করুন।
  • দ্বিতীয়ত, say() ফাংশনের ভিতরে গ্লোবাল ভেরিয়েবল  $message উল্লেখ করুন।

নোটঃ এটি গুরুত্বপূর্ণ যে, গ্লোবাল ভেরিয়েবল ব্যবহার করা ভাল অনুশীলন নয়।

সুপারগ্লোবাল ভেরিয়েবল

PHP-তে বিল্ড ইন ভেরিয়েবল-এর একটি list রয়েছে, যেগুলো সুপারগ্লোবাল ভেরিয়েবল নামে পরিচিত। সুপারগ্লোবাল ভেরিয়েবল PHP স্ক্রিপ্ট-এর পরিবেশ সম্পর্কে তথ্য প্রদান করে।

সুপারগ্লোবাল ভেরিয়েবল সবসময় স্ক্রিপ্ট-এর সব অংশে পাওয়া যায়। নিম্নলিখিত সারণীতে PHP সুপারগ্লোবাল ভেরিয়েবল-এর তালিকা দেখানো হয়েছেঃ-

Superglobal VariablesMeaning
$GLOBALSগ্লোবাল ভেরিয়েবল ধারণ করে এমন একটি array প্রদান করে। array কে কোন অংশে এক্সেস করতে হবে তা নির্বাচন করতে ভেরিয়েবলের নাম ব্যবহার করা হয়।
$_SERVER ওয়েবসার্ভার পরিবেশ সম্পর্কে ডাটা  প্রদান করে।
$_GETGET রিকোয়েস্ট থেকে ডাটা  প্রদান করে।
$_POSTPOST রিকোয়েস্ট থেকে ডাটা  প্রদান করে।
$_COOKIEHTTP কোকিস থেকে ডাটা  প্রদান করে।
$_FILESPOST, ফাইল আপলোড থেকে ডাটা  প্রদান করে।
$_ENVস্ক্রিপ্টের পরিবেশ সম্পর্কে ডাটা  প্রদান করে।
$_REQUESTHTTP রিকোয়েস্ট থেকে ডাটা  প্রদান করে।
$_SESSIONএকটি সেশন-এ রেজিস্টারর্ড ভেরিয়েবল রিটার্ন করে।

স্ট্যাটিক ভেরিয়েবল

একটি স্ট্যাটিক ভেরিয়েবল ফাংশন কল-এর মধ্যে তার ভেল্যু ধরে রাখে। এছাড়াও, একটি স্ট্যাটিক ভেরিয়েবল শুধুমাত্র ফাংশনের ভিতরে অ্যাক্সেসযোগ্য। একটি স্ট্যাটিক ভেরিয়েবল ডিফাইন করতে, আপনি স্ট্যাটিক keyword ব্যবহার করেন।

উদাহরণ স্বরূপ:

<?php

function get_counter() {
    static $counter = 1;
    return $counter++;
}

echo get_counter() .  '<br>'; // 1
echo get_counter() .  '<br>'; // 2
echo get_counter() .  '<br>'; // 3

আউটপুটঃ

1
2
3

এটা কিভাবে কাজ করে

  • প্রথমে,  $counter নামের একটি স্ট্যাটিক ভেরিয়েবল দিয়ে  get_counter() ফাংশন ডিফাইন করুন।
  • দ্বিতীয়ত,  get_counter() ফাংশন তিনবার কল করুন। আপনি লক্ষ্য করবেন যে $counter ভেরিয়েবলের ভেল্যু প্রতিটি ফাংশন কল-এর পরে একটি করে বৃদ্ধি পেয়েছে।

ফাংশন প্যারামিটার

Function parameter লোকাল ফাংশন । অতএব, ফাংশন প্যারামিটার শুধুমাত্র ফাংশনের ভিতরে অ্যাক্সেসযোগ্য হতে পারে।

উদাহরণ স্বরূপ:

<?php 

function sum($items) {
    $total = 0;
    foreach($items as $item) {
        $total += $item;
    }
    return $total;
}

// $items cannot be accessible here
echo sum([10,20,30]);

এই উদাহরণে,  $items হল  sum() ফাংশন প্যারামিটার এটি শুধুমাত্র  sum() ফাংশনের মধ্যে অ্যাক্সেসযোগ্য হতে পারে।

সারাংশ

  • PHP -তে লোকাল, গ্লোবাল, স্টাটিক এবং ফাংশন প্যারামিটার সহ চার ধরনের ভেরিয়েবল স্কোপ রয়েছে।

Leave a Comment

Share this Doc

PHP ভেরিয়েবল স্কোপ (Variable scopes)

Or copy link

CONTENTS

Subscribe

×
Cancel