ASametYildirim Aslında işin içinde PHP ve MySQL olduğu zamanlarda en fazla dikkat etmeniz gereken kısım döngülere çok fazla girmemeye çalışmaktır. Yani kompleksiteyi olabildiğince düşük tutmanız gerekmektedir.

Evet echo'nun print'den bir farkı olmayabilir ama


echo 'Ali
';
echo 'Mehmet
';
echo 'Veli
';
echo 'Ayşe
';
echo 'Fatma
';


ile


echo 'Ali
Mehmet
Veli
Ayşe
Fatma
';


arasında fark vardır. En azından 2000-3000 dosyalık projeleri düşündüğünüzde (resmin tamamına baktığınızda hele ki kullanıcı sayınızın yüksek olduğunu düşündüğümüz zamanlarda) farkın hissedilir olduğunu anlayacaksınız.

Gereksiz değişken oluşturmak memory'i fazla kullanmanıza neden olacaktır, kaçınmakta fayda var.

Eğer bir şey statik olarak yazılabiliyorsa, o şekilde yazmayı tercih etmelisiniz. Örnek vermek gerekirse ASP.NET'deki HTML helperlar. PHP fonksiyonlarla kendi helperınızı yazabilirsiniz. Bir geliştirici her seferinde buton oluşturmak için;



yazmak yerine PHP ile bir fonksiyon oluşturup


function button($name,$text) {
return '';
}


button eklemek istediği yerde şu kodu çağırıyor

echo button("buttonAdi","Tıkla");

Evet kod yazımını hızlandıran bir hareket ama butonu statik olarak eklemek varken fonksiyon üzerinden okutup bastırmak kaynak kullanımına neden olacaktır.

Başka önemli bir nokta döngüyle veritabanına veri eklemek yerine, bu kısmı sql sorgusuyla halletmeye bakın. Hemen durumu örnek bir senaryo üzerinde açıklayayım. Bir algoritmanız var, her gün üyeler tablosundan 1000 kişiyi başka bir tabloya aktarmanız gerekiyor. Genelde akla ilk gelen senaryo, PHP ile söz konusu 1000 üyeyi çekmek ve döngü ile hedef tabloya INSERT işlemi uygulatmaktır. Sağlıklı bir yöntem değildir. 1000 kişiyi teker teker veritabanına yazmak can sıkabilir, timeoutlara neden olabilir. Bunun yerine SQL sorgusu ile tek bir hamleyle insert yapabilirsiniz.


INSERT INTO yeniTablo (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM eskiTablo WHERE uye_id < 1001;