ob_start()
, ob_end_clean()
, ob_end_flush()
, ve ob_get_contents()
fonksiyonları, PHP'de çıktı tamponlaması (output buffering) için kullanılır. Çıktı tamponlaması, betiğin çıktısını geçici bir tampona alarak, çıktının tarayıcıya veya istemciye gönderilmeden önce üzerinde değişiklikler yapma veya çıktıyı yakalama amacını taşır.
-
ob_start() Kullanımı:
ob_start(); echo "Bu çıktı tampona alınıyor."; // Burada başka çıktılar ve işlemler olabilir ob_end_flush(); // Tamponu boşalt ve çıktıyı gönder
Bu örnekte,
ob_start()
fonksiyonu ile çıktı tamponlaması başlatılır. Sonrasında bir dizi işlem gerçekleşebilir veob_end_flush()
fonksiyonu ile tampon boşaltılır, yani çıktı tarayıcıya gönderilir. -
ob_end_clean() Kullanımı:
ob_start(); echo "Bu çıktı tampona alınıyor."; // Burada başka çıktılar ve işlemler olabilir ob_end_clean(); // Tamponu boşalt ve çıktıyı gönderme
Bu örnekte ise
ob_end_clean()
fonksiyonu kullanılarak tampon boşaltılır, ancak çıktı gönderilmez. -
ob_get_contents() Kullanımı:
ob_start(); echo "Bu çıktı tampona alınıyor."; // Burada başka çıktılar ve işlemler olabilir $tamponIcerik = ob_get_contents(); // Tamponun içeriğini al ob_end_clean(); // Tamponu boşalt ve çıktıyı gönderme echo "Tampon İçeriği: " . $tamponIcerik;
Bu örnekte,
ob_get_contents()
fonksiyonu ile tamponun içeriği alınır ve daha sonraob_end_clean()
fonksiyonu ile tampon boşaltılır.
Çıktı tamponlaması, özellikle HTTP başlıkları gibi çıktıları kontrol etmek veya işlemek istediğiniz durumlarda kullanışlıdır. Ancak, dikkatli kullanılmalıdır, çünkü gereksiz ve bilinçsiz kullanım, kodun karmaşıklığını artırabilir.