MVC modeli hakkında daha önceden bahsetmiştik. Bu tip yapılar sayesinde karmaşık veyahut orta ölçekli (küçük ölçekliler için gereksiz kalır) projelerde ekstra preformans sağlar, düzenli ve grup çalışmasına yatkın yapılar elde ederiz. Php üzerinde MVC kavramı için pek çok Framework mevcut. Bunlar arasında küçük, hızlı ve gayet performanslı olan Kohana 3 ile ilk uygulamamız olan telefon defteri yapımına bakacağız.
Aynen MVC modeline uyarak telefon defterimizi model – view – control kısımlara ayırıcaz. Arada ki tüm işlemler için (database, form vs) gene Kohana nın bize sağladığı sınıflarımızı kullanıcaz. Kohana 2x den sonra 3 e geçişte pek çok fonksiyonunu değiştirmiş gibi görünüyor. Daha önceki tecrübeleri olan kişiler için dökümantasyonu tekrar incelemekte fayda var tabi.
Bugün basit bir mantık ile rand() fonksiyonunda nasıl olasılık ile oynanılabilir ona bakıcaz. Rand yani Random yani Rastgele sayı fonksiyonunun işleyişi oldukça basittir. Siz iki adet sayı verirsiniz, Php otomatik olarak rastgele bir seçim yapar. Fakat yüzde 60 olasılık ile şunu, yüzde 40 olasılık ile şunu yap diyemeyiz.
İşte bu derste ufak bir mantık ile yüzdeler kullanıcaz. Yine Php ye rastgele bir sayı seçtireceğiz ve 70% de echo “70%”, 30% de echo “30%” yazdıracağız. İsterseniz başka atamalar yaparak, değişik fonksiyonları da çağırabilirsiniz. Bunlar tamamen size kalmış durumda..
Daha önceden Smarty yazısında nesne-mvc mantığı hakkında azbuçuk birşeyler söylemiştik. Bu yazı da ise frameworks (anaçatıların) genel mantığı üzerine konuşacağız.
Yazının bir kısmı anlatım bir kısmı ise soru-cevap şeklinde. Bu sayede giriş ve muhtemel sorularınızı tek bir kanaldan alabileceksiniz.
Artık kullanıcıların gizlilik sınırları kalkması ile birçok servis üzerinde kişisel veyahut simge niteliğinde ufak resimler moda oldu. Yalnız bunların sadece resim değil de bir çeşit dosya, dolaylı yoldan da “alan” sorunu çıkarttığı aşikar. İşte bunun için biçilmiş kaftan olan gravatarı kendi servisimize adapte edeceğiz.
Gravatar sayesinde bu sorun çözülüyor. WordPress Gravatara geçişini tamamladı vs vs. Ortak bir veritabanında tutulan verilere sonradan ulaşıp, o resmi kullanarak hem sosyallik anlaşını, hem de farklı API’ lerin rahatlığını hissedebilirsiniz. Zaten çok küçük bir fonksiyon ile yapacağız bunu!