استریم (PHP Stream)
اینجا درباره «استریم (Stream)» حرف می زنیم. استریم یعنی راهِ یکسان برای کار با فایل، شبکه، و فشرده سازی. «منبع (Resource)» یک شیء مخصوص PHP است. استریم را می توان خطی خواند یا نوشت. گاهی هم با fseek() جابه جا می شوی. «رَپِر (Wrapper)» کدی است که نحوه کار با پروتکل ها را توضیح می دهد.
معرفی توابع استریم
توابع استریم ابزارهای یکسان سازی اند. بنابراین با آن ها روی انواع داده یک شکل کار می کنی. این توابع در هسته PHP هستند و نصب جداگانه نمی خواهند.
نصب و در دسترس بودن
توابع استریم بخشی از هسته PHP هستند. نیاز به نصب ندارند. فقط PHP را داشته باش و استفاده کن.
نمونه هایی از توابع مهم استریم
- stream_copy_to_stream() — کپی کردن داده از یک استریم به استریم دیگر.
- stream_filter_append() — افزودن فیلتر به استریم.
- set_socket_blocking() — از PHP 5.4 منسوخ؛ در PHP 7 حذف. هم ارز: stream_set_blocking().
- stream_get_contents() — خواندن محتوای استریم به صورت یک جا.
- stream_get_meta_data() — گرفتن متادیتا و وضعیت استریم.
- stream_select() — انتظار برای آماده شدن چند استریم.
- stream_socket_client() — ساخت اتصال سوکت با استریم.
- stream_set_timeout() — تنظیم زمان انتظار عملیات استریم.
- stream_get_wrappers() — دیدن رَپرهای موجود.
کاربرد روزمره توابع استریم
با توابع استریم می توانی فایل را تکه تکه بخوانی، دانلود شبکه را مدیریت کنی، یا فیلتر فشرده سازی اضافه کنی. چنین یکپارچگی، کدنویسی تمیزتر می سازد.
نکات سریع درباره رَپرها
رَپر تعیین می کند داده ورودی چگونه مدیریت شود. مثلاً http، file، یا php://. با تغییر رَپر، همان کد روی مسیرهای متفاوت کار می کند.
مسیر یادگیری توابع استریم
برای شروع از توابع استریم با کپی ساده آغاز کن. سپس به فیلترها سر بزن. در پایان، سوکت ها را بررسی کن.
جمع بندی سریع
- توابع استریم در هسته PHP هستند.
- توابع استریم کارها را یکپارچه می کنند.
- رَپر توضیح دهنده پروتکل هاست.
- می توانی خطی بخوانی یا بنویسی.
- بعضی توابع قدیمی منسوخ شده اند.