Skip to main content

Command Palette

Search for a command to run...

কলব্যাক ফাংশন কি এবং কেন ব্যবহার করবো?

Updated
2 min read

কলব্যাক ফাংশন হলো একটি ফাংশন যা অন্য একটি ফাংশনের মধ্যে পাস করা হয় এবং সেই ফাংশনের নির্দিষ্ট সময় বা স্থানে কাজ করানোর জন্য ব্যবহার হয়। আপনি কলব্যাক ফাংশন অন্য একটি ফাংশনের প্যারামিটার হিসেবে পাস করতে পারেন এবং সেই ফাংশনের সাথে আপনার কাস্টম লজিক প্রয়োগ করতে পারেন।

ধরুন, আমরা এখানে দুটি নাম্বার যোগ করার একটি ফাংশন লিখেছি, যে ফাংশন ২ টি নাম্বার এবং একটি কলব্যাক ফাংশন প্যারামিটার হিসেবে নেয়। বিষয় হলো আমরা এখানে ২টি নাম্বার যোগ করব ঠিকই কিন্তু ধরুন, আমাদের একটা রিকয়্যারমেন্ট দিয়ে দেয়া হয়েছে যে, যোগ করার আগে ১ম ভ্যারিয়েবলের মান ২ বাড়িয়ে এরপর যোগ করতে হবে।

এখন আমরা চাইলে এই কাজটি আমাদের মেইন ফাংশনের ভিতরেও লিখতে পারি। কোনো সমস্যা নেই। কিন্তু প্রোগ্রামিংয়ে একটা রুলস আছে, সেটা হলো; সিংগেল রেসপন্সিবিলিটি। যার মানে হলো একটা ফাংশন একটাই কাজ করবে। এখানে লক্ষ করুন, আমাদের মেইন ফাংশনের কাজ হলো যোগ করা। এখন তার কাজ যদি আবার ১ম ভ্যারিয়েবলের মান ২ করে বাড়ানোও হয়, তাহলে কাজ হয়ে গেলো ২ টি। তাই আমরা এই ২ করে বাড়ানোর দায়িত্বটা আরেকটা ফাংশনের উপর দিয়ে দিবো, এই ফাংশনটাই হলো কলব্যাক ফাংশন। আর মেইন ফাংশনে যোগ করার আগে জাস্ট এই কলব্যাক ফাংশনকে কল করবো।
এখানে আমি খুবই সিম্পল একটি উদাহরন দিয়ে বোঝানোর চেষ্টা করেছি। কিন্তু কলব্যাক ফাংশনের আরো অনেক ব্যবহার রয়েছে।

<?php

function addNumbersWithCallback( $num1, $num2, $callback )
{

// Check if the callback is a valid callable function
    if ( is_callable( $callback ) ) {
        // Apply the callback function to the first number
        $num1 = $callback( $num1 );
    }

    // Add the modified first number to the second number
    $result = $num1 + $num2;

    return $result;
}

// Example callback function: Increase the number by 2
function increaseByTwo( $number )
{
    return $number + 2;
};

// Example usage:
$num1 = 5;
$num2 = 10;

$result = addNumbersWithCallback( $num1, $num2, "increaseByTwo" );
echo "Result: $result"; // Output: Result: 17 ((5 + 2) + 10)


//=============================================================================


//Another Implementation
function addNumbersWithCallback( $num1, $num2, $callback )
{

// Check if the callback is a valid callable function
    if ( is_callable( $callback ) ) {
        // Apply the callback function to the first number
        $num1 = $callback( $num1 );
    }

    // Add the modified first number to the second number
    $result = $num1 + $num2;

    return $result;
}

// Example callback function: Increase the number by 2
$increaseByTwo = function ( $number ) {
    return $number + 2;
};

// Example usage:
$num1 = 5;
$num2 = 10;

$result = addNumbersWithCallback( $num1, $num2, $increaseByTwo );
echo "Result: $result"; // Output: Result: 17 ((5 + 2) + 10)
A

Nicely explained !!

More from this blog

Proxy vs Reverse Proxy

ইন্টারনেট দুনিয়ায় 'প্রক্সি' কথাটির মানে হলো 'কারো হয়ে কাজ করে দেওয়া'। নেটওয়ার্কিং-এর ক্ষেত্রে প্রক্সি সার্ভার হলো এমন একটি মাধ্যম যা ক্লায়েন্ট (ব্যবহারকারী) এবং সার্ভার (ওয়েবসাইট)-এর মাঝে দাঁড়

Apr 10, 20263 min read

How to Design Secure Web API Access

ইন্টারনেটে যখন আমরা কোনো এপিআই (API) ব্যবহার করি, তখন সবচেয়ে বড় চিন্তার বিষয় থাকে সিকিউরিটি। অর্থাৎ, যে ব্যক্তি এপিআইটি কল করছে, সে আসলে সঠিক ব্যক্তি কি না? এটি নিশ্চিত করার জন্য প্রধানত দুটি জনপ্রিয়

Apr 10, 20263 min read

যখন আপনি ব্রাউজারে একটি URL টাইপ করেন তখন কী ঘটে? | What Happens When You Type a URL Into Your Browser? (Simple Explanation)

ধাপ ১: বব URL টাইপ করে বব তার ব্রাউজারে টাইপ করে: http://example.com/product/electric/phone এখানে: http:// = স্কিম (কীভাবে সংযোগ করতে হবে বলে) example.com = ডোমেইন নাম (ওয়েবসাইটের ঠিকানা) product/

Apr 10, 20261 min read

Untitled Publication

12 posts