কম্পিউটার টিউটোরিয়াল

PHP রিসোর্স (Resources)


সংজ্ঞা এবং ব্যবহার

PHP-তে, রিসোর্স (Resource) একটি বিশেষ ডেটা টাইপ যা কোনো বাহ্যিক রিসোর্সকে রেফার করে। একটি রিসোর্স ভেরিয়েবল ডেটার বাহ্যিক সোর্স—যেমন স্ট্রিম, ফাইল, ডেটাবেস ইত্যাদি—এর রেফারেন্স হিসেবে কাজ করে। PHP এই রিসোর্সগুলো তৈরির জন্য প্রাসঙ্গিক ফাংশন ব্যবহার করে। উদাহরণস্বরূপ, fopen() ফাংশন একটি ডিস্ক ফাইল খোলে এবং এর রেফারেন্স একটি রিসোর্স ভেরিয়েবলে সংরক্ষণ করে।

PHP-এর জেন্ড ইঞ্জিন (Zend Engine) রেফারেন্স কাউন্টিং (reference counting) সিস্টেম ব্যবহার করে। ফলে, শূন্য রেফারেন্স কাউন্ট বিশিষ্ট রিসোর্স গারবেজ কলেক্টর দ্বারা স্বয়ংক্রিয়ভাবে ধ্বংস হয়। তাই রিসোর্স ডেটা টাইপের মেমরি ম্যানুয়ালি ফ্রি করার প্রয়োজন নেই।

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() None() ইনক্রিমেন্টাল deflate কনটেক্সট
zlib.inflate inflate_init() None() ইনক্রিমেন্টাল inflate কনটেক্সট

এই প্রেক্ষাপটে, 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

  1. PHP ফ্লোটিং পয়েন্ট ডেটা টাইপ (Float Data Type)

  2. PHP বুলিয়ান ডেটা টাইপ (Boolean Data Type)

  3. PHP টাইপ অপারেটর (Type Operators)

  4. সিস্টেম রিসোর্স বোঝা: প্রকার, ফাংশন ও অপ্টিমাইজেশন