Định nghĩa và Cách sử dụng
Trong PHP, Tài nguyên là một kiểu dữ liệu đặc biệt đề cập đến bất kỳ tài nguyên bên ngoài nào. Một biến tài nguyên hoạt động như một tham chiếu đến nguồn dữ liệu bên ngoài như luồng, tệp, cơ sở dữ liệu, v.v. PHP sử dụng các hàm liên quan để tạo các tài nguyên này. Ví dụ:hàm fopen () mở một tệp đĩa và tham chiếu của nó được lưu trữ trong một biến tài nguyên.
Công cụ Zend của PHP sử dụng hệ thống dự phòng tham chiếu. Do đó, một tài nguyên có số lượng tham chiếu bằng không sẽ bị bộ thu gom rác tự động hủy. Do đó, bộ nhớ được sử dụng bởi kiểu dữ liệu tài nguyên không cần được giải phóng theo cách thủ công.
Nhiều loại tài nguyên khác nhau có thể được xử lý trong một tập lệnh PHP, với sự trợ giúp của các hàm tương ứng. Bảng sau hiển thị một danh sách được chọn -
Tên loại tài nguyên | Được tạo bởi | Bị phá hủy bởi | Định nghĩa |
bzip2 | bzopen () | bzclose () | Tệp Bzip2 |
cuộn tròn | curl_init () | curl_close () | Phiên cuộn tóc |
ftp | ftp_connect (), | ftp_close () | Luồng FTP |
liên kết mssql | mssql_connect () | mssql_close () | Liên kết đến cơ sở dữ liệu Microsoft SQL Server |
liên kết mysql | mysql_connect () | mysql_close () | Liên kết đến cơ sở dữ liệu MySQL |
kết quả mysql | mysql_db_query (), | mysql_free_result () | Kết quả MySQL |
oci8 | oci_connect () | oci_close () | Kết nối với Cơ sở dữ liệu Oracle |
liên kết ODBC | odbc_connect () | odbc_close () | Liên kết đến cơ sở dữ liệu ODBC |
tài liệu pdf | pdf_new () | pdf_close () | tài liệu PDF |
| opendir () | closedir () | Tay cầm Dir |
| fopen (), tmpfile () | fclose () | Xử lý tệp |
| | fclose () | Tay cầm ổ cắm |
xml | xml_parser_create (), | xml_parser_free () | trình phân tích cú pháp XML |
zlib | gzopen () | gzclose () | tệp nén gz |
zlib.deflate | deflate_init () | Không có () | ngữ cảnh giảm phát tăng dần |
zlib.inflate | Inflate_init () | Không có () | ngữ cảnh thổi phồng gia tăng |
Trong ngữ cảnh này, PHP có hàm get_resource_type () trả về loại tài nguyên của một biến.
Cú pháp
Để khai báo một đối tượng của một lớp, chúng ta cần sử dụng câu lệnh mới
get_resource_type ( resource $handle ) : string
trong đó $ handle là biến tài nguyên có kiểu được lấy. Hàm này trả về một chuỗi tương ứng với loại tài nguyên
Ví dụ sau cho thấy loại tài nguyên của tệp đĩa
Ví dụ
<?php $fp=fopen("test.txt","w"); var_dump($fp); ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
resource(5) of type (stream)
Ví dụ sau sử dụng hàm get_resource_type ()
Ví dụ
<?php $fp = fopen("test.txt", "w"); echo get_resource_type($fp) . "\n"; ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
stream