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