ob_get_level
می خواهی بدانی چند «بافر خروجی (Output Buffer)» فعال است؟ تابع ob_get_level() تعداد بافرهای فعال روی «استک (Stack)» را می دهد. بنابراین سریع می فهمی چند لایه بافر داری.
تعریف ساده و کاربرد سطح بافر خروجی
ob_get_level() می گوید چند بافر فعال هم اکنون روی استک هستند. گاهی PHP خودکار یک بافر می سازد. پس حتی بدون ob_start() مقدار می تواند 1 باشد.
نمونه کد از منبع
مرحله ای سطح بافر را ببین، سپس دو بافر اضافه کن و دوباره بسنج.
<?php
$buffer_count = ob_get_level();
echo "Buffer level: $buffer_count.<br>";
ob_start();
$buffer_count = ob_get_level();
echo "Buffer level: $buffer_count.<br>";
ob_start();
$buffer_count = ob_get_level();
echo "Buffer level: $buffer_count.<br>";
ob_end_flush();
ob_end_flush();
?>
گام های عملی بررسی سطح بافر
- با
ob_get_level()سطح فعلی را بخوان. - با
ob_start()یک بافر تازه بساز. - دوباره سطح را با
ob_get_level()بررسی کن. - برای هر بافر، یک بار
ob_end_flush()صدا بزن.
نکته: «سطح بافر خروجی» عددی پله ای است؛ هر ob_start() یک پله اضافه می کند.
هشدار: ممکن است تنظیمات PHP از ابتدا بافر بسازد. بنابراین سطح می تواند بدون اقدام تو، 1 باشد.
پیوندهای داخلی مرتبط
- سطح بافر خروجی صفحه مرجع همین مفهوم.
- ob_end_flush پایان و ارسال بافر بالا.
- ob_get_length طول بایت های بافر.
جمع بندی سریع
ob_get_level()تعداد بافرهای فعال را می دهد.- هر
ob_start()سطح را یکی زیاد می کند. - گاهی سطح اولیه 1 است.
- برای بستن، به تعداد سطح،
ob_end_flush()بزن.