ob_end_flush
اینجا درباره «ارسال خروجی با ob_end_flush» حرف می زنیم. «بافر خروجی (Output Buffer)» یعنی جایی که متن ها موقت می نشینند. سپس با ob_end_flush() بافر پاک می شود و محتوایش ارسال می شود. این کار مثل صفِ بوفه است؛ صف خالی می شود، خوراکی ها توزیع می شوند.
تعریف کوتاه و کاربرد روزمره
ob_end_flush() بالاترین بافر را حذف می کند و همه محتوایش را می فرستد. اگر بافر دیگری باشد، محتوا گیر آن می افتد. در غیر این صورت، مستقیم به مرورگر می رود. برای پایانِ تمیز یک مرحله بافر، عالی است.
نمونه کد: پایان و ارسال بافر
ابتدا بافر را شروع کن. بعد خروجی تولید کن. سپس بافر را پاک کن و همزمان محتوا را بفرست.
<?php
ob_start();
echo "This output will be sent to the browser";
ob_end_flush();
?>
گام های عملی
- با
ob_start()بافر را فعال کن. - هرچه لازم است، با
echoتولید کن. - برای پایان و ارسال،
ob_end_flush()را اجرا کن.
نکته: «ارسال خروجی با ob_end_flush» انجام می شود وقتی بافر فعال باشد. بدون بافر، کاری نمی کند.
هشدار: اگر چند بافر تودرتو داری، فقط بالایی پایان می یابد. ترتیب مهم است.
پیوندهای داخلی
- شروع بافر خروجی قبل از ارسال خروجی لازم است.
- ارسال خروجی با ob_end_flush در تقابل با پاک کردنِ بدون ارسال.
جمع بندی سریع
- بافر را تمام می کند و محتوا را می فرستد.
- بدون بافر، اثری ندارد.
- در بافرهای تودرتو، فقط بالایی تمام می شود.
- برای پایان مرحله رندر، خیلی کاربردی است.