- Artik seneler oncesinden kalan aliskanliklardan kurtulun, Nesne yonelimli programlamaya gecin. Buldugunuz eski makaleleri hice sayin. Tabii ki nesne yonelimli calisma gerektirmeyen projelerde olacaktir, fakat buna karar vermekte profesyonellik ister. Standartlara uyun, nesne yonelimli yazin.
- Geliştirirken hata raporlamayı mutlaka açın, ve seviyesi E_ALL olsun. Bu gerçekten önemli. Sadece yazılımınızı kusursuz yapmaya değil E_NOTICE seviyesindeki uyarilariyla bilginizi her geçen gün arttıracaktır.
- PHP'nin kendi built-in fonksiyonlarını kullanın. Bunlar C levelinde yazılmıştır ve herzaman için daha hızlı çalışacaktır. Eğer işinizi PHPnin kendi fonksiyonlarıyla halledebiliyorsanız, ekstra clone yazmaya hiç gerek yok.
- Mümkün olduğunca tek tırnakları kullanın. İçinde değişken yada özel karakter barındırmayan stringler için çift tırnak kullanmak tamamen hamallıktır.
- Büyük projelerinizde mutlaka MVC yapısını izleyin.
- include_once ve require_once kullanmaktan çekinin. Bunlar hantal fonksiyonlardır. Projenizi adam gibi tasarlayın, bunlara ihtiyaç kalmayacaktır.
- Veritabanınızı mutlaka koruyun. İster bütün tırnakları escape ettiğinizden emin olun, ister prepared queries kullanın. Yöntem çok önemli olmasada, SQL injection'a karşı test edin projelerinizi
- Ternary operatörlerini kullanın. Kod satırınızı azaltıp hem taramayı hızlandırır hemde yazdığınız kod karışık olmaz.
- Döngüler içinde SQL sorguları kullanmaktan çekinin. Unutmayın MySQL tek sorgu ile birden fazla veri girişi yapabiliyor mesela. Döngü içinde sorgu stringini hazırlayın, sonra tek seferde çalıştırın.
- Son tavsiyemde size yazdığınız kodu yorumlamak olsun. Her fonksiyonunuzu, her sınıfınızı mutlaka yorumlayın.
Dayanamayıp birde bonus vereceğim.
for($i=0;$i<count($array;$i++)) {}
gibi count kullanmayin asla. once saydirip degeri $n = count($array); seklinde alin sonra $n'i donguye dahil edin. Bunun sebebi dongunun her seferinde o diziyi sayacagidir. Eger PHP diger Nesne yonelimli diller gibi $array.size() seklinde bir erisime sahip olsaydi bu problem olmazdi, cunku onlarda sadece ram'de tutulan bir veriye ulasiliyor saydirma yapilmiyor.
Asıl soruma geçeyim, yalnış anlamayın doğrusunu öğrenmek istediğimden soruyorum. Bunlar hantal ise, kullanmayacaksak, projelerimizi tek dosyada tutmak mı adam gibi tasarlamaklamaktır? Yoksa dosyayı okuyup eval()'den mi geçirmek daha iyidir?