ความหมายและการใช้งาน
ใน PHP ทรัพยากร เป็นชนิดข้อมูลพิเศษที่อ้างอิงถึงทรัพยากรภายนอกใดๆ ตัวแปรทรัพยากรทำหน้าที่เป็นแหล่งอ้างอิงถึงแหล่งข้อมูลภายนอก เช่น สตรีม ไฟล์ ฐานข้อมูล เป็นต้น PHP ใช้ฟังก์ชันที่เกี่ยวข้องเพื่อสร้างทรัพยากรเหล่านี้ ตัวอย่างเช่น ฟังก์ชัน fopen() จะเปิดไฟล์ดิสก์และข้อมูลอ้างอิงจะถูกเก็บไว้ในตัวแปรทรัพยากร
เอ็นจิ้น Zend ของ PHP ใช้ระบบการอ้างอิง ด้วยเหตุนี้ ทรัพยากรที่มีจำนวนการอ้างอิงเป็นศูนย์จะถูกทำลายโดยอัตโนมัติโดยตัวรวบรวมขยะ ดังนั้น หน่วยความจำที่ใช้โดยประเภทข้อมูลทรัพยากรไม่จำเป็นต้องว่างด้วยตนเอง
ทรัพยากรประเภทต่างๆ สามารถจัดการได้ในสคริปต์ PHP ด้วยความช่วยเหลือของฟังก์ชันที่ตอบสนองแกนหลัก ตารางต่อไปนี้แสดงรายการที่เลือก -
ชื่อประเภททรัพยากร | สร้างโดย | ถูกทำลายโดย | คำจำกัดความ |
bzip2 | bzopen() | bzclose() | ไฟล์ Bzip2 |
ขด | curl_init() | curl_close() | เซสชั่นการดัดผม |
ftp | ftp_connect(), | ftp_close() | สตรีม FTP |
ลิงก์ mssql | mssql_connect() | mssql_close() | ลิงก์ไปยังฐานข้อมูล Microsoft SQL Server |
ลิงก์ mysql | mysql_connect() | mysql_close() | ลิงก์ไปยังฐานข้อมูล MySQL |
ผลลัพธ์ mysql | mysql_db_query(), | mysql_free_result() | ผลลัพธ์ MySQL |
การเชื่อมต่อ oci8 | oci_connect() | oci_close() | การเชื่อมต่อกับ Oracle Database |
ลิงค์ ODBC | odbc_connect() | odbc_close() | เชื่อมโยงไปยังฐานข้อมูล ODBC |
เอกสาร PDF | pdf_new() | pdf_close() | เอกสาร PDF |
สตรีม | opendir() | closedir() | ตัวจัดการ |
สตรีม | fopen(), tmpfile() | ปิด() | ตัวจัดการไฟล์ |
ซ็อกเก็ต | | ปิด() | ที่จับซ็อกเก็ต |
xml | xml_parser_create(), | xml_parser_free() | ตัวแยกวิเคราะห์ XML |
zlib | gzopen() | gzclose() | ไฟล์บีบอัด gz |
zlib.deflate | deflate_init() | ไม่มี() | บริบทการยุบที่เพิ่มขึ้น |
zlib.พอง | พอง_init() | ไม่มี() | บริบทขยายที่เพิ่มขึ้น |
ในบริบทนี้ PHP มีฟังก์ชัน get_resource_type() ที่ส่งคืนประเภททรัพยากรของตัวแปร
ไวยากรณ์
ในการประกาศวัตถุของคลาส เราจำเป็นต้องใช้คำสั่งใหม่
get_resource_type ( resource $handle ) : string
โดยที่ $handle เป็นตัวแปรทรัพยากรที่จะได้รับประเภท ฟังก์ชันนี้ส่งคืนสตริงที่สอดคล้องกับประเภททรัพยากร
ตัวอย่างต่อไปนี้แสดงประเภททรัพยากรของไฟล์ดิสก์
ตัวอย่าง
<?php $fp=fopen("test.txt","w"); var_dump($fp); ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
resource(5) of type (stream)
ตัวอย่างต่อไปนี้ใช้ฟังก์ชัน get_resource_type()
ตัวอย่าง
<?php $fp = fopen("test.txt", "w"); echo get_resource_type($fp) . "\n"; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
stream