কম্পিউটার টিউটোরিয়াল

PHP-তে gettype() এবং PHP 8-এ get_debug_type() এর পার্থক্য


PHP-এর পুরানো সংস্করণে, যদি আমরা একটি ভেরিয়েবলের টাইপ জানতে চাই, তবে আমরা gettype() ফাংশন ব্যবহার করতাম। এই ফাংশন একটি স্ট্রিং আকারে একটি ভেরিয়েবলের টাইপ রিটার্ন করে। এটি integer, string, array, boolean, double, resource, NULL, unknown type ইত্যাদি সমস্ত সম্ভাব্য মান রিটার্ন করে।

তবে, gettype ফাংশনে কিছু সমস্যা ছিল। এটি নেটিভ এবং পরিচিত টাইপ নাম রিটার্ন করে না। এটি float-এর বদলে double এবং int-এর বদলে integer রিটার্ন করে, ইত্যাদি।

এই সমস্যা সমাধান করতে, PHP 8 get_debug_type ফাংশন ব্যবহার করে।

get_debug_type() ফাংশন

PHP 8-এ, get_debug_type ফাংশন ভেরিয়েবলগুলির আসল নেটিভ টাইপ রিটার্ন করে। এটি double এবং integer-এর বদলে float, int রিটার্ন করে। এই ফাংশন অবজেক্টের ক্লাস নাম স্বয়ংক্রিয়ভাবে রেজল্ভ করে।

get_debug_type() ফাংশন সাহায্য করে −

  • ডিবাগিং

  • বিজনেস লজিক

  • এরর রিপোর্টিং

উদাহরণ: PHP-তে gettype() ফাংশন ব্যবহার

<?php    class Novel {}    class Comments {}    $novel = new Novel();    if(! ($novel instanceof Comment)) {       echo 'Expected ' . Comment::class . ' still got My' . (is_object($novel) ?       get_class($novel) : gettype($novel));    } ?>

আউটপুট

Expected Comment still got MyNovel

উদাহরণ: PHP 8-এ get_debug_type() ফাংশন ব্যবহার

<?php class Novel {} class Comments {} $novel = new Novel(); if(! ($novel instanceof Comment)) {     echo 'Expected '.Comment::class.' still got My'.get_debug_type($novel); } ?>

আউটপুট

Expected Comment still got MyNovel

  1. Python এবং PHP-এর পার্থক্য

  2. PHP-তে অ্যাবস্ট্রাকশন (Abstraction) এবং এনক্যাপসুলেশন (Encapsulation) এর পার্থক্য

  3. C#-তে মেথড (Method) এবং ফাংশন (Function) এর পার্থক্য

  4. পাইথনে মেথড এবং ফাংশনের পার্থক্য