WM Dergi - 2.SAYI | Page 68

WM Dergi WM Dergi Türkiye ‘nin En Büyük ve Kapsamlı Webmaster Dergisi Barındırdıkları database adaptörleri sayesinde farklı Veritabanı türlerine kolay bir şekilde Entegre Edilebilmesi İş görüşmelerinde avantaj sağlaması (Php Developer iş ilanlarını incelediğinizde “... Framework’üne hakim” , “En az 1 framework tecrübesi olan” vb. şartları sıkça görür olduk.) Framework Kullanmaya Nasıl Karar Vermeliyim? Yukarıda framework kullanmanın avantajlarından bahsettim. Ama “Her proje de framework kullanın” gibi bir genelleme yapmak yanlış olur. Öncelikle geliştireceğimiz uygulamayı iyi analiz edip, ihtiyaçlarımızı net olarak belirlememiz gerekiyor. 5 sayfadan oluşan basit bir kurumsal site için framework kullanmanın avantajdan çok dezavantaj sunması muhtemeldir. Bu tür küçük projelerde işyükü fazla değildir ve projenin kodlarının devamlı geliştirilmesi gerekmez. O yüzden statik php ile hazırlayarak performans yönünden daha iyi bir sonuç elde edebiliriz. Orta ve büyük çaplı projeler geliştiriyorsak, ekip halinde çalışmamız gerekiyorsa bence framework kullanmak en iyi 68 Türkiye ‘nin En Büyük ve Kapsamlı Webmaster Dergisi çözümlerden biri olacaktır. “İyi de orta ve büyük çaplı projeden kastın nedir?” diye sorabilirsiniz. :) Örneğin Video, haber, oyun portalları, arkadaşlık siteleri, blog uygulamaları vb. genelde içinde çok fazla kod barındıran ve ileriye dönük devamlı geliştirilmesi gereken projelerdir. O yüzden iş yükü fazla olan ve gelişime açık projelerde framework tercih ederek ileride yaşayabileceğimiz sıkıntıları minumuma indirebilir, projenin hazırlanma sürecini hızlandırabiliriz. Hangi Framework Kullanmalıyım? ‘ü Bu soru sosyal ağlarda ve forumlarda en çok sorulan sorulardan biri sanırım. Sizlere direk bir isim vererek “Bunu kullanın” diyemem. Ancak Türkiye’de en çok hangi framework’lerin kullanıldığını yazarak ve kendi kullandığım framework’ten bahsederek sizin tercih alanınızı daraltabilirim. CodeIgniter Zend Kohana Symfony CakePhp Bu frameworkleri indirip kurarak performans, güvenlik, iş süreci vb. yönlerden incelemenizi ve buna göre karar vermenizi tavsiye edebilirim. Ben projelerimde CodeIgniter’i kullanıyorum ve şuana kadar birçok projeyi CodeIgniter ile geliştirdim. Performans, güvenlik ve iş süreci yönünden herhangi bir sıkıntı yaşamadım. CodeIgniter’i tercih etmemin sebebi diğer framework’lere göre daha hızlı ve iyi bir dökümantasyona sahip olması diyebilirim. CodeIgniter’i kullanmaya az önce size önerdiğim gibi diğer framework’leri kurup inceleyerek karar verdim. “Interface’in Türkçe karşılığı arayüz demektir. Özellikle ekip olarak çalışılan yazılım projelerinde standart bir yapı ortaya çıkarılmasına ve daha düzenli bir yapıya sahip olmanıza yardımcı olabilecek bir yöntemdir.” PHP INTERFACE NEDİR, NASIL KULLANILIR? Bu yazıda sizlere Php’de interface kullanımından bahsedeceğim.Eğer daha önce Class, Extends, Public vb. terimleri hiç duymadıysanız veya hiç OOP kod yazmadıysanız nesne tabanlı programlama video derslerini izlemenizi ve ardından bu yazıyı okumanızı öneririm.Interface’in Türkçe karşılığı arayüz demektir. Biliyorsanız kızmayın yahu bilmeyenler için söyledim. :) Özellikle ekip olarak çalışılan yazılım projelerinde standart bir yapı ortaya çıkarılmasına ve daha düzenli bir yapıya sahip olmanıza yardımcı olabilecek bir yöntemdir. Bir veritabanı sınıfı oluşturuyorsanız ve birden fazla adaptör kullanmanız gerekiyorsa (mysql, oracle, postgresql vb.) tüm sınıfları bu arayüz üzerinden oluşturarak herkesin belirlenen kalıpta kod yazması sağlanabilir. Çünkü yazdığımız sınıflarda arayüze uygun olmayan veya eksik kod yazdığımızda hata alırız. Özetle bizi tanımladığımız arayüze uygun kod yazmaya zorlar. Interface içinde sadece metodları tanımlarız ve herhangi bir işlevsel kod bulundurmayız. Sınıflarda olduğu gibi extends ile mevcut arayüzleri genişletebiliriz. Oluşturduğumuz bir sınıf birden fazla arayüzün özelli klerini alabilir. Teorik olarak bu kadar bilgi yeterli olmuştur umarım. Interface’in kafanızda biraz daha somutlaşması için hemen kodlarımızı yazmaya başlayalım. Apc ve memcache olmak üzere 2 alternatif olan bir cache(Önbellek) kütüphanesi yazmak istediğimizi düşünelim. Oluşturacağımız 2 sınıfında bir arayüzün özelliklerini almasını sağlayarak aynı metodları kullanmasını ama farklı işlemleri yapmasını sağlayabiliriz. 69