Scalar এবং Object Return Types

Return Type Declarations (রিটার্ন টাইপ ডিক্লারেশন) - পিএইচপি (PHP 7) - Computer Programming

384

PHP 7 এ Scalar Return Types এবং Object Return Types ব্যবহার করে, ফাংশন বা মেথডের রিটার্ন ভ্যালুর টাইপ নির্দিষ্ট করা যায়, যা কোডের নির্ভুলতা, নিরাপত্তা এবং কার্যকারিতা নিশ্চিত করতে সাহায্য করে।


১. Scalar Return Types

Scalar Return Types ব্যবহার করে আপনি ফাংশন বা মেথডের রিটার্ন টাইপ হিসাবে স্কেলার ডেটা টাইপ যেমন int, float, string, অথবা bool নির্ধারণ করতে পারেন। এটি টাইপ সেফটি নিশ্চিত করে এবং কোডের মধ্যে টাইপ mismatch এড়াতে সহায়ক হয়।

Scalar Return Type এর উদাহরণ:

<?php
function add(int $a, int $b): int {
    return $a + $b;
}

echo add(5, 10);  // আউটপুট হবে: 15
?>

এখানে, add ফাংশনটি দুটি int টাইপের প্যারামিটার গ্রহণ করে এবং একটি int টাইপের রিটার্ন ভ্যালু প্রদান করে।

অন্য স্কেলার টাইপ রিটার্ন:

<?php
function getPrice(): float {
    return 19.99;
}

echo getPrice();  // আউটপুট হবে: 19.99
?>

এখানে, getPrice ফাংশনটি একটি float রিটার্ন করে।


২. Object Return Types

Object Return Types ব্যবহার করে আপনি একটি ফাংশন বা মেথডের রিটার্ন টাইপ হিসাবে একটি নির্দিষ্ট ক্লাসের অবজেক্ট নির্ধারণ করতে পারেন। এটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর ধারণাকে PHP কোডে আরও কার্যকরভাবে প্রয়োগ করতে সহায়ক।

Object Return Type এর উদাহরণ:

<?php
class User {
    public $name;
    
    public function __construct($name) {
        $this->name = $name;
    }
}

function createUser(string $name): User {
    return new User($name);
}

$user = createUser("John");
echo $user->name;  // আউটপুট হবে: John
?>

এখানে, createUser ফাংশনটি একটি User ক্লাসের অবজেক্ট রিটার্ন করে। User একটি অবজেক্ট টাইপ রিটার্ন যা string টাইপের আর্গুমেন্ট গ্রহণ করে।

Strict Mode এবং Object Return Type:

Strict mode সক্রিয় থাকলে, ফাংশনটি শুধুমাত্র নির্দিষ্ট ক্লাসের অবজেক্ট রিটার্ন করতে পারবে। যদি আপনি অন্য ধরনের ডেটা রিটার্ন করার চেষ্টা করেন, PHP একটি TypeError প্রদর্শন করবে।

<?php
declare(strict_types=1);

class Product {
    public $name;
    
    public function __construct($name) {
        $this->name = $name;
    }
}

function createProduct(string $name): Product {
    return new Product($name);
}

$product = createProduct("Laptop");
echo $product->name;  // আউটপুট হবে: Laptop

// Strict Mode-এ ভুল টাইপ রিটার্ন করলে TypeError ঘটবে
function createInvalidProduct(): Product {
    return "Invalid";  // TypeError
}
?>

এখানে, createProduct ফাংশনটি Product ক্লাসের অবজেক্ট রিটার্ন করে। strict mode সক্রিয় থাকলে অন্য টাইপ রিটার্ন দিলে TypeError হবে।


Scalar এবং Object Return Types এর মধ্যে পার্থক্য

বৈশিষ্ট্যScalar Return TypesObject Return Types
টাইপint, float, string, boolএকটি ক্লাসের অবজেক্ট
নির্ধারণফাংশন বা মেথডের রিটার্ন ভ্যালুর টাইপ নির্দিষ্ট করা হয়ফাংশন বা মেথডের রিটার্ন হিসেবে একটি নির্দিষ্ট ক্লাসের অবজেক্ট নির্ধারণ করা হয়
ব্যবহারসাধারণ স্কেলার মানের জন্য ব্যবহৃত (যেমন গাণিতিক অপারেশন)অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে ব্যবহার করা হয়
Strict ModeStrict mode থাকলে টাইপ কনভার্শন না হলে ত্রুটি হবেStrict mode থাকলে শুধু নির্দিষ্ট ক্লাসের অবজেক্ট রিটার্ন হবে, অন্য টাইপ রিটার্ন করলে ত্রুটি হবে

সারসংক্ষেপ

Scalar Return Types PHP 7-এ একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ফাংশন বা মেথডের রিটার্ন ভ্যালুর জন্য স্কেলার টাইপ যেমন int, float, string, bool ব্যবহার করতে দেয়। এটি কোডের নির্ভুলতা নিশ্চিত করে। অন্যদিকে, Object Return Types PHP 7 এ অবজেক্ট রিটার্ন করার সুবিধা দেয়, যেখানে ফাংশন একটি নির্দিষ্ট ক্লাসের অবজেক্ট রিটার্ন করে। strict mode ব্যবহার করলে এই রিটার্ন টাইপগুলির ক্ষেত্রে আরও কঠোর চেকিং হয়, এবং টাইপ mismatch হলে ত্রুটি প্রদর্শিত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...