Comment

PHP ফাংশন (Functions)

PHP নাম আর্গুমেন্ট (Named arguments)

Estimated reading: 2 minutes 23 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি PHP নামের arguments এবং কীভাবে আপনার code সেগুলো কার্যকরভাবে ব্যবহার করবেন তা শিখবেন।

PHP নামের আর্গুমেন্টের ভূমিকাঃ

যেহেতু PHP 8.0, সেহেতু আপনি ফাংশনের জন্য নামযুক্ত আর্গুমেন্ট ব্যবহার করতে পারেন। নামযুক্ত আর্গুমেন্ট আপনাকে প্যারামিটার এর অবস্থানের পরিবর্তে প্যারামিটার এর নামের উপর ভিত্তি করে একটি ফাংশনে আর্গুমেন্ট পাঠায়।

নিম্নলিখিত উদাহরণটি একটি ফাংশনকে ডিফাইন করে, যা একটি স্ট্রিং-এ একটি সাবস্ট্রিং এর প্রথম উপস্থিতির অবস্থান খুঁজে পায়:

<?php

function find($needle, $haystack)
{
    return strpos($haystack, $needle);
}    

find()  ফাংশনকে কল করার জন্য, আপনি প্যারামিটার-এর অবস্থানের উপর ভিত্তি করে আর্গুমেন্ট পাস করেন:

find('awesome', 'PHP is awesome!');

এই ক্ষেত্রে,  $needle হল  'awesome'এবং $haystack হল 'PHP is awesome!'

যাইহোক, ফাংশন কল স্পষ্ট নয়। উদাহরণস্বরূপ, আপনি জানেন না কোন আর্গুমেন্ট নিডল এবং কোন আর্গুমেন্ট হেইস্টেক.

কখনও কখনও, আপনি ভুল ক্রমে আর্গুমেন্ট পাস করে ভুল করতে পারেন।

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

find ( 
    'PHP is awesome!',
    'awesome'
);

এটি বাগী এবং সমস্যা এর সমাধান করা খুব কঠিন।

এটি এড়াতে, আপনি এইটার মত আর্গুমেন্ট এ comments  যোগ করতে পারেন:

find (
    'awesome',        // needle
    'PHP is awesome!' // haystack
);

কমেন্ট কোড এটিকে আরো স্পষ্ট করে তোলে। যাইহোক, তারপরেও এটি শক্তিশালী নয়।

এটি উন্নত করার জন্য, PHP 8.0 নাম-যুক্ত আর্গুমেন্ট প্রবর্তন করেছে, যা আপনাকে আর্গুমেন্ট পাস করার সময় প্যারামিটার-এর নাম নির্দিষ্ট করতে দেয়ঃ

find (
    $needle : 'awesome',
    $haystack : 'PHP is awesome!'
);

যেহেতু আপনি প্যারামিটার নাম ব্যবহার করছেন, সেহেতু অবস্থানের প্রয়োজন নেই।

উদাহরণস্বরূপ, আপনি এইটার মত প্যারামিটার অদলবদল করতে পারেনঃ

find(
    $haystack :'PHP is awesome!',
    $needle : 'awesome'
);

এটা সঠিকভাবে কাজ করা উচিত।

ডিফল্ট আর্গুমেন্ট এড়িয়ে যাওয়া

নিম্নলিখিত একটি ফাংশন ডিফাইন করে, যা টেক্স, href, টাইটল এবং টার্গে টথেকে একটি  উপাদান (<a>) তৈরি করেঃ

<?php

function create_anchor(
    $text,
    $href = '#',
    $title = '',
    $target = '_self'
)
{
    $hrefAttribute = $href ? sprintf('href="%s"', htmlspecialchars($href)) : '';
    $titleAttribute = $title ? sprintf('title="%s"', htmlspecialchars($title)) : '';
    $targetAttribute = $target ? sprintf('target="%s"', htmlspecialchars($target)) : '';

    return "<a $hrefAttribute $titleAttribute $targetAttribute>$text</a>";
}

টার্গেটের সাথে একটি লিং তৈরি করতে _blank, না হওয়া পর্যন্ত আপনাকে সমস্ত default আর্গুমেন্ট উল্লেখ করতে হবে।

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

$link = create_anchor(
    'PHP Tutorial', 
    'https://www.phptutorial.net/',
    '',
    '_blank'
);

echo $link;

আউটপুটঃ

<a href="https://www.phptutorial.net/" target="_blank">PHP Tutorial</a>

এই উদাহরণে, আপনাকে  থার্ড আর্গুমেন্ট-এর স্থান (”) পাস করতে হবে। আপনি যদি নামযুক্ত আর্গুমেন্ট ব্যবহার করেন, তবে আপনাকে সব ডিফল্ট স্পেসিফািই করতে হবে না।

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

$link = create_anchor(
    text : 'PHP Tutorial', 
    href : 'https://www.phptutorial.net/',
    target: '_blank'
);

Positional আর্গুমেন্ট-এর সাথে নামযুক্ত আর্গুমেন্ট মিশ্রিত করাঃ

PHP আপনাকে পজিশনাল আর্গুমেন্ট এবং নামযুক্ত আর্গুমেন্ট উভয় ব্যবহার করে একটি ফাংশনাল কল করার অনুমতি দেয়। এবং আপনাকে পজিশনাল আর্গুমেন্ট-এর পরে নামযুক্ত আর্গুমেন্ট স্থাপন করতে হবে।

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

$link = create_anchor(
    'PHP Tutorial', 
    'https://www.phptutorial.net/',
     target: '_blank'
);

এই উদাহরণেঃ

  • text টি হল 'PHP Tutorial'
  • href হল'https://www.phptutorial.net/'.
  • এবং target হল'_blank'.

যদি পজিশনাল আর্গুমেন্টের আগে নাম আর্গুমেন্ট রাখেন তাহলে আপনি একটি ভুল আউটপুট পাবেন আর্গুমেন্ট। উদাহরণ স্বরূপ:

create_anchor(
    target : '_blank',
    'PHP Tutorial', 
    'https://www.phptutorial.net/'
);

Error:

Cannot use positional argument after named argument

সারাংশ

  • প্যারামিটারের নাম-এর উপর ভিত্তি করে একটি ফাংশন আর্গুমেন্ট পাস করতে PHP নামের আর্গুমেন্ট ব্যবাহর করুন।
  • ফাংশন কলে অবস্থানগত আর্গুমেন্ট-এর পরে নামযুক্ত আর্গুমেন্ট রাখুন।

Leave a Comment

Share this Doc

PHP নাম আর্গুমেন্ট (Named arguments)

Or copy link

CONTENTS

Subscribe

×
Cancel