PHP’de Html Çıktısını Değişkene Atama

php programlama dili

OOp çalışıyorsanız, sınıflarda bulunan fonksiyonlarda echo kullanmak, çıktıyı anında ekrana basar. Oysa OOP mantığında fonksiyon ekrana çıktı basmak yerine o çıktıyo döndürmesi gerekir. Uzun htm etiketlerini php içine gömdüğünüzde html kodu derleyicinizde tanınmaz olur. Bunu aşmak için basitçe PHP’de html çıktısını değişkene atama yapacağız.

Geleneksel yöntemde;

<?php
echo '<div class="class">Html</div>';
?>

gibi yaklaşımla ekrana yazdırabiliyoruz ya da değişkene atayabiliyoruz. Fakat bu şekilde olduğunda html kodu php diline gömülü string olarak göründüğü için derleyiciniz(sublime text vb) bu kodu html olarak görmeyecek ve tamamlama yapamayacak. Ayrıca tırnak işaretleri de kafa karıştırıcı olabiliyor.

Bu sorunu kolaylaştırmak için mantık oldukça basit,

Çıktı önbelleklemeyi ob_start() ile aktif ediyoruz.

Output’a gönderilen tüm içerik önbellekte tutuluyor.Ekrana yazılmıyor.

ob_get_clean() komutu ile tüm önbelleği return ediyor ya da bir değişkene atayabiliyoruz.

Örnek kod:

<?php 
function test() {
	ob_start();
	?>
	Buraya istediğiniz html kodunu yazabilirsiniz.	
	<?php
	return ob_get_clean();
 }
 ?>

Özellikle wordpress, opencart gibi yazılımlara eklenti yaparken oldukça işinize yarayacak basit bir method. PHP’de html çıktısını değişkene atama konusu bu kadar basit.

2 Comments

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir