যারা বাংলাদেশের ৩৬ তম Zend Certified Engineer এবং এই সাইট (w3programmers) এর স্বত্বাধিকারী এবং লেখক Masud Alam স্যার এর কাছে কাছে সপ্তাহে ২ দিন ক্লাস, ৬ দিন প্রাকটিস করতে চান তাদের জন্য আগামী ১ February 2018 (বৃহস্পতি এবং শুক্রবার সন্ধ্যা ৬:০০ টা রাত ৯:০০ টা) থেকে শুরু হতে যাচ্ছে ৫ মাস ব্যাপী Professional Web Design & Development With HTML, CSS, JAVASCRIPT, JQUERY, PHP & MySQL for Beginners কোর্স (এই কোর্স টি যারা ফ্রিল্যান্সিং এবং আউটসোর্সিং কাজে আগ্রহী বিশেষ ভাবে তাদের জন্য design করা হয়েছে। ), আগামী ৪ February 2018 ( রবি এবং মঙ্গলবার সন্ধ্যা ৬:০০ টা থেকে রাত ৯:০০ টা ) থেকে শুরু হতে যাচ্ছে ৪ মাস ব্যাপী Zend Certified PHP 7.1 Engineering কোর্স। যেটা Advance PHP কোর্স নামে পরিচিত । এবং ৫ February 2018 (সোম এবং বুধবার সন্ধ্যা ৬:০০ টা থেকে রাত ৯:০০ টা) থেকে শুরু হতে যাচ্ছে ৪ মাস ব্যাপী Laravel 5.5 Professional Beginning to Advance Course কোর্স ।এই কোর্স গুলোতে তিনি ছাত্রদের কে সপ্তাহে ২ দিন ৩ ঘন্টা করে ৬ ঘন্টা ক্লাস নিবেন , এবং শনি থেকে বৃহস্পতি সপ্তাহে ৬ দিন ই স্যার এর অফিসে বসে প্রাকটিস করার সুযোগ দিবেন ! এতে প্রাকটিস করা কালীন ছাত্র-ছাত্রীরা কোনো সমস্যায় পড়লে তাৎক্ষণিক স্যার এর সহযোগিতা পাবে . (উল্লেখ্য: Training গুলো স্যার তার techbeeo software company'r পাশাপাশি পরিচালনা করে থাকেন।) কোর্স গুলো সম্পর্কে বিস্তারিত জানতে পারবেন এই লিংকে : Course Details .কোর্স গুলোর প্রত্যেকটির ফী নির্ধারণ করা হয়েছে ৩০,০০০ টাকা। আগ্রহীদেরকে অতিসত্বর মাসুদ আলম স্যার এর সাথে যোগাযোগ করার জন্য অনুরোধ করা যাচ্ছে। স্যার এর মোবাইল নম্বর : ০১৭২২ ৮১ ৭৫ ৯১

PHP Variable পর্ব-২: Variable Scope কি?

এই পর্বে আপনি জানতে পারবেন :

PHP Variable Scope কি?

PHP তে আপনি আপনার সমস্ত কোড জুড়ে যেকোনো জায়গায় Variable Declare বা ঘোষণা করতে পারেন। কোনো Variable যদি আপনি function এর ভিতরে ঘোষণা করেন, তাহলে ঐ Variable এর ব্যবহার Function এর মধ্যেই সীমাবদ্ধ রাখতে হবে। PHP তে এইটাকে বলা হয় Local Scope, আবার যদি কোনো Variable ফাঙ্কশনের বাহিরে ঘোষণা করেন। তাহলে ঐ Variable সমস্ত কোড জুড়ে ব্যবহার করতে পারবেন। তবে Funciton এর ভিতরে ব্যবহার করতে পারবেন না, যদি না সেই variable কে Global ঘোষণা না করেন।

PHP তে Variable Scope তিন ধরনের :

  • local
  • global
  • static

Global এবং Local Scope

Global Scope

কোনো Variable কে যখন Function এর বাইরে ঘোষনা করা হয় তখন ঐ variable শুধু মাত্র Function এর বাহিরেই ব্যবহার করা যায়। function এর ভিতরে ব্যবহার করা যায়না। তখন এটাকে বলা হয় Global Scope, নিচের উদাহরণে দেখা যাক:

<?php
$x = 5; // global scope

function myFunc() {
    echo "Variable x inside function is: $x <br>";
} 
myFunc();

echo "Variable x outside function is: $x";
?>

ব্যাখ্যা : উপরের উদাহরণে function এর ভিতরের $x একটা Error Notice দেখাবে। কারন এখানে $x ভ্যারিয়েবল হচ্ছে Global Scope, যার জন্য $x কে function এর ভিতরে ব্যবহার করা যাবেনা। আবার function এর বাহিরে $x Variable কোনো Error দেখাবেনা। কারন Global Scope Variable আমরা function এর বাহিরে যেকোনো জায়গায় ব্যবহার করতে পারবো।

Local Scope

কোনো Variable কে যখন Function এর ভিতরে ঘোষনা করা হয় তখন ঐ variable শুধু মাত্র Function এর ভিতরেই ব্যবহার করা যায়। function এর বাহির থেকে ব্যবহার করা যায়না। তখন এটাকে বলা হয় লোকাল Scope, নিচের উদাহরণে দেখা যাক:

<?php
function myFun2() {
    $x = 5; // local scope
    echo "Variable x inside function is: $x<br>";
} 
myFunc2();

// using x outside the function will generate an error
echo "Variable x outside function is: $x<br>";
?>

ব্যাখ্যা : উপরের উদাহরণে function এর বাহিরের $x একটা Error Notice দেখাবে। কারন এখানে Function এর ভিতরের $x Variable হচ্ছে Local Scope, যার জন্য $x কে function এর বাহিরে ব্যবহার করা যাবেনা। আর $x Variable টি Local Scope হওয়াতে function এর ভিতরে কোনো Error দেখাবেনা।

PHP তে Global Keyword কি?

PHP তে কোনো Global Variable কে function এর ভিতরে ব্যবহার করার জন্য global keyword ব্যবহার করা হয়। এটা করার জন্য function এর ভিতরে variable এর সামনে Global Keword লিখতে হবে। নিচের উদাহরণে দেখা যাক:

<?php
$x = 5;
$y = 10;

function myFunc3() {
    global $x, $y;
    $y = $x + $y;
}

myFunc3();
echo $y; // outputs 15
?>

ব্যাখ্যা : উপরের উদাহরণে function এর বাহিরের $x এবং $y Variable কে Function এর ভিতরে ব্যবহারের সুযোগের জন্য আমরা Global Keyword করি।

PHP তে Global Variable গুলো একটা array তে থাকার কারণে আমরা নিচের উদাহরণের মতো করেও Global Variable গুলোকে $GLOBALS super Global Variable দিয়ে ব্যবহার করতে পারি।

<?php
$x = 5;
$y = 10;

function myFunc3() {
    $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
} 

myFunc3();
echo $y; // outputs 15
?>

PHP তে Static Keyword কি?

static keyword

সাধারণত PHP তে কোনো Function execute হওয়ার পর বা Function এর কাজ শেষ হওয়ার সাথে সাথে তার Local Variable গুলোও মুছে যায়। কিন্তু কখনো কখনো আমরা চাই পরবর্তীতে ব্যবহারের জন্য আমাদের Local Variable গুলো থাকুক। আর এই কাজটি করার জন্য আমাদের কে static keyword ব্যবহার করতে হয়। চলুন static keyword ছাড়া একটা উদাহরণ দেখি:

<?php
function myFunc4() {
    $x = 0;
    echo $x;
    $x++;
}
myFunc4(); //Output: 1
myFunc4(); //Output:  1
myFunc4(); //Output:  1
?>

উপরের উদাহরণে লক্ষ্য করুন “myFunc4” function টি যতবারই call করতেছি ততবারই ফলাফল হিসাবে 1 আসতেছে। এর কারণ myFunc4 function টি প্রত্যেকবারই তার variable গুলো ডিলিট করে দেয় এবং প্রত্যেকবারই নতুন value assign করে। যার জন্য ফলাফল হিসাবে আমরা প্রত্যেকবার 1 পাচ্ছি। অথচ আমরা যদি চাই আগের মানের সাথে প্রত্যেকবার 1 করে যোগ হোক, তাহলে আপনি $x variable এর সামনে static keyword জুড়ে দিতে হবে। চলুন নিচের উদাহরণে দেখা যাক।

<?php
function myFunc4() {
   static $x = 0;
    echo $x;
    $x++;
}
myFunc4(); //Output: 1
myFunc4(); //Output: 2
myFunc4(); //Output: 3
?>

এই ক্যাটাগরির অন্যান্য পোস্ট:

Masud Alam
আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ৮ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। বিশেষ ভাবে বাংলাদেশের ১০০ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ৫২ জন ই আমার হাতে জেন্ড সার্টিফাইড হয়েছে। বর্তমানে TechBeeo Software Company তে সিইও হিসাবে আছি । পাশাপাশি w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -7 Engineering কোর্স করাই। আর w3programmers.com সাইট টি আমার।
2 comments on “PHP Variable পর্ব-২: Variable Scope কি?

Leave a Reply

Your email address will not be published. Required fields are marked *