ฟังก์ชันที่สำคัญที่ใช้ร่วมกันคือ
โค้ด: เลือกทั้งหมด
ob_start()
ob_end_flush()
ob_end_clean()
ตัวอย่างแรกจะให้แสดงข้อมูลใน Buffer
โค้ด: เลือกทั้งหมด
<?php
ob_start();
print("Mindphp.com \n");
ob_end_flush()
?>
จะไม่พิมพ์ในทันทีที่มีคำสั่ง print เมื่อเจอ ob_end_flush() จึงทำการพิมพ์กักการทำงานไว้ใน buffer ก่อน
ผลลัพธ์ก็จะแสดงคำว่า "Mindphp.com"
อีกตัวอย่างหนึ่งในการลบ ข้อมูลใน Buffer
โค้ด: เลือกทั้งหมด
<?php
ob_start();
print("Test Mindphp.com \n");
ob_end_clean()
?>
ผลลัพธ์ ก็จะล้างข้อมูลออกทำให้ ไม่พิมพ์อะไรออกมาเลยครับ สรุป buffer ก็เป็นการเก็บข้อมูล แล้วใช้คำสั่ง ob_end_flush() แสดงข้อมูลออกมาทั้งหมด ประโชยน์ของ Buffer ก็คือ สำรองเนื้อที่ในหน่วยความจำมาเพื่อรองรับการใช้งานของ object ต่าง ๆ ที่จะเกิดขึ้นกับโปรแกรมเมื่อมีการทำงานเกิดขึ้น
อ้างอิง
1 https://www.php.net/manual/en/function.ob-clean.php
2 http://computer.todaygoods.com/php/outputBuffer.html
3 https://stackoverflow.com/questions/8770910/difference-between-ob-clean-and-ob-flush