PHP5 henüz çoğu ISP tarafından desteklenmiyor. Bu yüzden kendisinin nadide özelliklerini kullanmakta geç kaldım.
Geçtiğimiz hafta çalıştığım şirket için bir içerik yönetimi uygulamasını PHP5 ile yazmaya karar verdim. Kullandıkça hayran bırakan özellikleri var. Sınıflar konusunda PHP5 çağ atlamış.
Ama bu kısa yazının konusu, PHP’nin autoload özelliği.
Sınıflarla (halk arasında class diye tabir ederiz) çalışan arkadaşlar genelde her dosyada bir sınıf yaratırlar. Böylece hangi sınıfın nerede olduğunu bulmak çok kolaylaşır.
Hal böyle olunca, her sınıfın dosyasını tek tek sınıfı kullandığınız PHP dosyası içinde çağırmak gerekiyor (require, include). Diğer dillerde nasıl bilmiyorum ama PHP5 bu konuda inanılmaz bir kolaylık sunmuş. Yarattığınız __autoload isimli bir fonksiyon, sizi bu "include" derdinden kurtarıyor. Şöyle ki;
function __autoload($class_name) {
global $config;
require_once("/library/".$class_name.".class.php");
}
diyerek fonksiyonu yaratıyoruz.
Sonra mesela;
$var = new someClass();
dediğimiz zaman, PHP /library/someClass.class.php dosyasını çağırıyor.
Bu sayede hem "include" hamallığından kurtuluyorsunuz hem de uygulama sağda solda unuttuğunuz bu işlem yüzünden hata vermiyor.
Bence çok başarılı olmuş..