$GLOBALS
আমরা আমাদের PHP কোডে যে সকল global ভেরিয়েবল ব্যবহার করি সেগুলোর প্রত্যেকটি এই $GLOBALS অ্যাসোসিয়েটিভ অ্যারের মধ্যে স্টোর হয়। পরবর্তীতে এই ভেরিয়েবল গুলো PHP কোডের যে কোন স্থানে ব্যবহার করা যায়। যেমনঃ
1. <?php
2. $name = "The Learner";
3. function display(){
4. echo $GLOBALS["name"];
5. }
6. display();
7. ?>
উপরোক্ত কোডে $name নামে একটি গ্লোবাল ভেরিয়েবল ডিক্লেয়ার করা হয়েছে। এটি গ্লোবাল ভেরিয়েবল এই কারণে, এটি কোন ফাংশন বা মেথডের ভেতর ডিক্লেয়ার করা হয়নি। এটি ফাংশনের বাইরে ডিক্লেয়ার করা হয়েছে।
অন্যান্য অনেক ল্যাঙ্গুয়েজেই গ্লোবাল ভেরিয়েবল কোন ফাংশন বা মেথডের ভেতর শুধু ভেরিয়েবলের নাম দিয়ে কল(Call) করলেই চলে। কিন্তু PHP তে এভাবে কল করলে কাজ করে না।
PHP তে যখন কোন ভেরিয়েবল গ্লোবাল হিসেবে ডিক্লেয়ার করা হয় তখন সেটি $GLOBALS অ্যাসোসিয়েটিভ অ্যারে তে স্টোর হয়। প্রত্যেকটি ভেরিয়েবলের নাম $GLOBALS অ্যারের এক একটা Key অনুযায়ী স্টোর হয়।
এখানে $name হচ্ছে গ্লোবাল ভেরিয়েবল। $GLOBALS অ্যারেতে এটি $GLOBALS["name"] হিসেবে স্টোর হয়েছে। এ কারনেই display() ফাংশনের ভেতর $name ভেরিয়েবল কে $GLOBALS["name"] আকারে কল করা হয়েছে। যদি এটি শুধু ভেরিয়েবলের নাম $name এভাবে কল করা হয় তখন Error শো করবে।
global কী-ওয়ার্ড ব্যবহার করেও গ্লোবাল ভেরিয়েবল PHP কোডের সকল ফাংশন বা মেথডের ভেতর ব্যবহার করা যায়। যেমন উপরের $name ভেরিয়েবল আমরা এভাবেও অ্যাক্সেস করতে পারিঃ
1. <?php
2. $name = "The Learner";
3. function display(){
4. global $name;
5. echo $name;
6. }
7. display();
8. ?>
এই কোডে display() ফাংশনের ভেতর $name ভেরিয়েবলের নামের পূর্বে global কী-ওয়ার্ড ব্যবহার করে display() ফাংশনকে বলে দেওয়া হয়েছে যে এটি একটি গ্লোবাল ভেরিয়েবল। এরপর $name ভেরিয়েবল নিয়ে কাজ করা হয়েছে।
Comments
Post a Comment