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