PHP-এর আগের সংস্করণগুলিতে, আমরা যদি একটি ভেরিয়েবলের ধরন পেতে চাই, আমরা gettype() ব্যবহার করতাম। ফাংশন এই ফাংশন একটি স্ট্রিং এর কাস্টম একটি ভেরিয়েবলের ধরন প্রদান করে। এটি পূর্ণসংখ্যা, স্ট্রিং, অ্যারে, বুলিয়ান, ডবল, রিসোর্স, NULL, অজানা টাইপ ইত্যাদির মতো সম্ভাব্য সমস্ত মান প্রদান করে।
যাইহোক, gettype এ সমস্যা ছিল ফাংশন এটি নেটিভ এবং পরিচিত ধরনের নাম ফেরত দেয় না। এটি ফ্লোটের পরিবর্তে দ্বিগুণ এবং int-এর পরিবর্তে পূর্ণসংখ্যা প্রদান করে, ইত্যাদি।
এই সমস্যাটি কাটিয়ে উঠতে, PHP 8 ব্যবহার করে get_debug_type ফাংশন।
get_debug_type() ফাংশন
PHP 8-এ, get_debug_type ফাংশন ভেরিয়েবলের সত্যিকারের নেটিভ টাইপ রিটার্ন করে। এটি একটি ফ্লোট, 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