Zırvalama Tahtası symfony, debian, PHP5, SQL ve pek çok ayrıntı

17Jul/070

Çok yaşa PHP5

13 Temmuz'da php.net sitesinde yapılan duyuruya göre 2007 sonundan sonra PHP4 için yeni bir sürüm çıkartılmayuacak ve php4'e destek (sadece hata düzeltimi) sadece 2008'in ağustos ayına kadar sürecek, PHP4 uygulamaları ise PHP5'e yavaş yavaş transfer edilmeye başlansa iyi olacak ;)

PHP4 öldü, yaşasın PHP5

3Feb/070

Başlamadan önce bilinmesi gerekenler

PHP5 ve yeni Nesne yönelimli programlama mekanizması

Bu dökümanı okuyan pek çok kişi php'yi kullanıyor olmalı, ancak yine pek çok kişi php'nin 4.x.x versiyonunu aktif olarak kullanmakta ve php5'in getirdiği nesne yönelimli programlama hakkında pek fazla bilgiye sahip değil, ne yazık. Bu dökümanı daha iyi anlayabilmeniz için PHP5'in yeni nesne yönelimi programlama tekniklerine bakmalısınız. Bu teknikler programlama dünyasına yabancı değildir sadece PHP'ye yeni eklenmiştir. Bu yeni eklenen özellikler için http://www.php.net/manual/en/language.oop5.basic.php adresine bakmalısınız.

PEAR (PHP Extension and Application Repository)

PEAR yeniden kullanılabilinecek kodların ve frameworklerin kullanımını, dağıtımını, bulunabilirliliğini ve kurulumlarını kolaylaştırmak için geliştirilmiş bir araçtır. Eğer PEAR (http://pear.php.net/) deposunda bulunan bir kütüphaneyi kullanırsanız ve bu yeni yazılımı bir başka yerde çalıştırmak istediğinizde kullandığınız kütüphane yeni sistem üzerinde kurulu değilse fazla üzülmenize gerek kalmadan komut satırı aracı ile kolayca kurabilirsiniz. http://pear.php.net üzerinde bulunan kodlar topluluk tarafından geliştirilir ve erişime açıktır.
ORM (Object Relational Mapping)

Her ne kadar ilerde model başlığı altında hafifçe inceleyecekte olsak ORM ile ilgili genel bilginizin olması gerekmektedir.

YAML

YAML'ın açılımı ise Yet Another Markup Language ve yapılandırma dosyalarının insanlar tarafında kolayca okunabilmesi ve anlaşılabilmesi amacı ile geliştirilmiş bir söz dizimidir. XML ve “ini“ dosyalarından daha okunabilir, hızlı ve güçlüdür. 2001 yılında ilk ortaya atıldığından bu yana pek çok betik dilinde kullanılır olmuştur. YAML söz dizimi ile ilgili adha fazla bilgiye http://www.yaml.org adresinden edinebilirsiniz.

31Jan/070

Neden bir Framework ile çalışırız.

Framework'ler özellikle yazılım geliştimeyi kolaylaştırmak için geliştirilirler ve pek çok geliştirme mekanizmasını içerisinde barındırırlar, okunabilir, yönetilebilinir bir kod yığını oluşturmamızı sağlar. Bir Framework bize veri kaynaklarından, üzerinde çalışacağı sistemlerden bağımsız şekilde kod yazılabilmesini sağlayacak ortamı sunar. İçinde barındırdığı geliştirme mekanizmaları sayesinde benzer sorunlara benzer kodların yazılmasına engel olur ve eğer framework'un size sunduğu mekanizmalar yetersiz gelirse size genişletme imkanı verir.

Frameworklerin en iyi yanlarından biri ise iş mantığı ile görselliği ayrı tutmasıdır. Web ortamını düşünürsek HTML etiketleri arasından yapılan SQL sorguları Ya da kendi yazdığınız fonksiyonların kullanılması yapılan işin nasıl yapıldığının anlaşılmasını zorlaştırır.

Frameworkler genellikle uygulamayı 3 ana başlık altında ayırırlar.
1) Sunum katmanı

Bu katmanda veri katmanından gelen verileri görsel öğreler ile birlikte kullanıcıya sunulur, web ortamı için bu genellikle HTML sayfalarıdır.

2) Veri katmanı

Veri tabanına erişim ve veri tabanı üzerine işlemler bu katmanda yapılır, Kullanıcıdan gelen veriler gerektiği gibi işlendikten sonra bu katmana iletilir.

3) iş katmanı

Kullanıcıdan Ya da veri katmanından alınan veriler bu katmanda işlenir ve sunum katmanına iletilmek üzere hazırlanır.

Kullanılan dil ne olursa olsun frameworklerin ana amacı işlerimizi kolaylaştırmak ve uygulamamızı katmanlara ayırabilmektir. PHP ile yazılan pek web sayfasında genel problem uygulamanın katmanlara ayrılmadan yazılması ve sonuç olarak bir başka geliştirici için sadece kod çöplüğü oluşturmuş olmaktır. Bu nedenle genellikle aynı işlevi sunan kod parçacıkları başka kişiler tarafından tekrar tekrar yazılırlar. Symfony yukarda anlatılan özelliklere sahip olan MVC yapısı üzerine kurulmuştur.

16Jan/061

Singleton

Pek bir severim kendilerini, PHP'de kullanmak çoğu zaman kolay, ancak yinede dikkatli olmak gerekiyor.

hemen örnekleyelim.

static $hodo;

Class hede{
var $hodo;
function Instance(){
$test = &$hodo;
if(!is_object($test)){
$test = new hede();
}
return $test;
}
function setHodo($value = NULL ){
if ($value === NULL ){
return NULL;
}
$this->hodo = $value;
return $value;
}
function getHodo(){
if($this->hodo === NULL ){
return NULL;
}
return $this->hodo;
}
}

şimdide kullanalım bakalım.

$A = &Hede::Instance();
$A->SetHodo(5);
$B = &Hede::Instance();
echo $B->getHodo();

Peki bir güzel oldu.. merak edenler denesin efendim.
Elbette Static değişken yerine $GLOBAL['ClassName'] içerisine sınıfı yerleştirebilirsiniz o ayrı. Canınız isterse kardeşim alla alla.