परिभाषा और उपयोग
PHP में, रिसोर्स (Resource) एक विशेष डेटा प्रकार है जो किसी भी बाहरी रिसोर्स को संदर्भित करता है। एक रिसोर्स वेरिएबल बाहरी डेटा स्रोत जैसे स्ट्रीम, फ़ाइल, डेटाबेस आदि के संदर्भ के रूप में कार्य करता है। PHP इन रिसोर्स को बनाने के लिए संबंधित फ़ंक्शन का उपयोग करता है। उदाहरण के लिए, fopen() फ़ंक्शन एक डिस्क फ़ाइल खोलता है और इसका संदर्भ एक रिसोर्स वेरिएबल में संग्रहीत होता है।
PHP का ज़ेंड इंजन रेफरेंस काउंटिंग सिस्टम का उपयोग करता है। परिणामस्वरूप, शून्य रेफरेंस काउंट वाला रिसोर्स गार्बेज कलेक्टर द्वारा स्वचालित रूप से नष्ट हो जाता है। इसलिए, रिसोर्स डेटा प्रकार द्वारा उपयोग की जाने वाली मेमोरी को मैन्युअल रूप से मुक्त करने की आवश्यकता नहीं होती।
PHP स्क्रिप्ट में संबंधित फ़ंक्शन की सहायता से विभिन्न प्रकार के रिसोर्स को संभाला जा सकता है। निम्न तालिका एक चयनात्मक सूची दिखाती है:
| रिसोर्स प्रकार का नाम | बनाया गया द्वारा | नष्ट किया गया द्वारा | परिभाषा |
|---|---|---|---|
| bzip2 | bzopen() | bzclose() | Bzip2 फ़ाइल |
| curl | curl_init() | curl_close() | Curl सत्र |
| ftp | ftp_connect() | ftp_close() | FTP स्ट्रीम |
| mssql link | mssql_connect() | mssql_close() | Microsoft SQL Server डेटाबेस से लिंक |
| mysql link | mysql_connect() | mysql_close() | MySQL डेटाबेस से लिंक |
| mysql result | mysql_db_query() | mysql_free_result() | MySQL परिणाम |
| oci8 connection | oci_connect() | oci_close() | Oracle डेटाबेस से कनेक्शन |
| ODBC link | odbc_connect() | odbc_close() | ODBC डेटाबेस से लिंक |
| pdf document | pdf_new() | pdf_close() | PDF दस्तावेज़ |
| stream | opendir() | closedir() | डायरेक्टरी हैंडल |
| stream | fopen(), tmpfile() | fclose() | फ़ाइल हैंडल |
| socket | fclose() | सॉकेट हैंडल | |
| xml | xml_parser_create() | xml_parser_free() | XML पार्सर |
| zlib | gzopen() | gzclose() | gz-संपीड़ित फ़ाइल |
| zlib.deflate | deflate_init() | कोई नहीं | इन्क्रीमेंटल डिफ्लेट संदर्भ |
| zlib.inflate | inflate_init() | कोई नहीं | इन्क्रीमेंटल इन्फ्लेट संदर्भ |
इस संदर्भ में, PHP में get_resource_type() फ़ंक्शन होता है जो किसी वेरिएबल के रिसोर्स प्रकार को लौटाता है।
सिंटैक्स
get_resource_type ( resource $handle ) : string
जहां $handle वह रिसोर्स वेरिएबल है जिसका प्रकार प्राप्त करना है। यह फ़ंक्शन रिसोर्स प्रकार के अनुरूप एक स्ट्रिंग लौटाता है।
उदाहरण
उदाहरण 1: डिस्क फ़ाइल का रिसोर्स प्रकार
<?php
$fp = fopen("test.txt", "w");
var_dump($fp);
?>
आउटपुट
resource(5) of type (stream)
उदाहरण 2: get_resource_type() फ़ंक्शन का उपयोग
<?php
$fp = fopen("test.txt", "w");
echo get_resource_type($fp) . "\n";
?>
आउटपुट
stream