AJAX nothingrows
Bildiğiniz üzere PHP, Web (ağ) uygulamaları geliştirmede kullanılan bir programlama dilidir. Ajax ise JavaScript, DOM ve XMLHttpRequest teknolojisinin kombinasyonu sayesinde sunucu ile kullanıcı arasında dinamik etkileşimler kurulmasını sağlayan bir Ağ tekniği olmakla beraber; yeni bir programlama dili değildir.
Bu makalede size PHP, Ajax ve veritabanı olarak MySQL altyapısını kullanarak dinamik bir Ağ uygulamasını nasıl geliştireceğinizi, hepsinin ötesinde; bunu komple bir proje olarak ele alıp, ufak ölçekli bir projenin başından sonuna kadar nasıl hayata geçirileceğini adım adım anlatacağım.
I. Başlarken
- Proje geliştirmek, ama nasıl?
- Hazır sınıflar ve kullanımı
II. Kod adı: nMembership
- Macromedia® Dreamweaver 8®, Yeni site oluşturmak
- Dosya ve klasör yerleşimi
- MySQL™ 5.0 ile veritabanı oluşturmak ve ezSQL
III. Klasörler yavaş yavaş dolarken...
- Peki ne yapacağız bilen var mı?
- Herşeyden önce altyapı
- Prototype'im benim
- Kendi sınıfını kendin yaz
- Ortaya yeşillik: Ajax
IV. Daha dinamik, daha estetik
- Efektler, efektler...
- Küçük detaylar
V. Kaynaklar, tavsiyeler
- İndirme kaynakları
- Bunları okuyun
Proje geliştirmek, ama nasıl?
Yapılan araştırmalara göre günümüzde Ağ uygulamalarının %40 gibi bir oranı PHP dilini kullanıyor. Web 2.0 ile birlikte patlama yaşayan uygulamalar içindeki oranı ise hemen hemen %80 civarında. Her ne kadar Ajax işin içine katıldığında Ruby ile kıyasıya bir rekabet içerisinde olsa da, uygulama geliştiriciler için PHP halen popüler bir ortam.
Bir uygulamayı dağınık kod ve dosya yapıları ile geliştirmek; test aşamasında meydana gelebilecek aksaklıkları gidermek ve proje sonunda doğabilecek artı istekleri gerçekleştirmek açısından geliştirici için oldukça büyük sıkıntılar doğurur. Bunun yerine bir disiplin içerisindeki kişisel standartlarla, kendi çizdiğimiz prosedürlerle hareket etmek, her zaman için daha iyi verim almamızı ve problem tespiti/giderme işlemlerinde sürate olanak sağlar.
elbette zorlu bir parkurun eşiğinde olabilirsiniz. Fakat bu makalenin esas amacının, size bu yeteneği ve mantık yapısını kazandırmak olduğunu bilmenizi istiyorum. Dilerseniz kaynaklar bölümünde bunu sizin için daha önceden yapmış arkadaşların Framework (Uygulama geliştirme ortamı, O.K.)'lerini bulabilirsiniz. Ama burda kendi ortamımızı yaratıp, bir standardizasyon sağlamaya çalışacağız.
Hazır sınıflar ve kullanımı
Her ne kadar kendi ortamımızı yaratacağız derken, "yazılmışı var ama biz niye yazmıyoruz" edalarıyla hava atmaya çalışsam da, Kuzey Buz Denizi'ni yeniden keşfetmeye gerek yok sanırım. Tabiki iyi yazılmış sınıfları yerinde ve uygun ölçüleriyle kullanmak her zaman için iyi olacaktır.
PHP sınıflarını aramak için benim takip ettiğim yegane site şu an için PHPClasses.org. Üye olduğunuz taktirde her gün siteye yeni eklenen sınıflar hakkındaki kısa bilgilieri e-posta adresinize göndermekten üşenmiyorlar. Prototype ise JavaScript kütüphaneleri içerisinde en gelişmiş ve en popüler olanı. Kullanımını anlatan kaynak sıkıntısına ise Sergio Pereira, Developer Notes for prototype.js başlıklı makalesinde oldukça güzel bir çözüm getirmiş.
Hazır PHP sınıflarının kullanımı, sınıfın özelliklerine ve kullanım alanına göre değişmektedir. Sınıf yazımında ortak bir yazım standardı uygulanamayacağı için geliştiriciler sınıf dosyalarıyla beraber sınıfın nasıl kullanılacağını anlatan bir/birkaç örnek uygulamayı da sunmaktalar.
Üstünkörü tarif etmektense ufak (?) bir sınıf yazıp bunu nasıl kullandığımızı, örneklerle açıklamak istiyorum. Aşağıda görebileceğiniz ornek_sinif adındaki sınıfımız içinde dört adet fonksiyon bulunuyor. Bunlar; sınıfın içindeki genel değişkenleri, sabitleri vs. belirleyen ornek_sinif(), toplama işlemini gerçekleştiren topla(), çarpma işlemini gerçekleştiren carp() ve tüm fonksiyonları bir arada kullanabilmemizi sağlayan islem() adlı fonksiyonlarımız. Tüm fonksiyonlarımız argümanlarını array (dizi değişkeni) olarak alıyor. Bu nedenle toplama, çarpma ve toplu hesap işleminde herhangi bir rakam kısıtlaması yok. Önce fonksiyona göz atın ve ardından bu sınıfımızı nasıl kullanacağımıza bakalım.
-
class ornek_sinif {
-
var $hesaplayan;
-
-
function ornek_sinif()
-
{
-
$this->hesaplayan = "Onur Köse";
-
}
-
-
function carp($rakamlar)
-
{
-
$carpma_sonuc = 0;
-
$sayac = 0;
-
-
return 0;
-
-
foreach ( $rakamlar as $rakam )
-
{
-
$carp_cache = 0;
-
-
if ( $sayac == 0 )
-
{
-
$carpma_sonuc = $rakam;
-
$sayac = 1;
-
}
-
elseif ( $sayac == 1 )
-
{
-
$carp_cache = $carpma_sonuc * $rakam;
-
$carpma_sonuc = 0;
-
}
-
-
$carpma_sonuc += $carp_cache;
-
}
-
-
return $carpma_sonuc;
-
}
-
-
function topla($rakamlar)
-
{
-
$toplama_sonuc = 0;
-
-
return $toplama_sonuc;
-
-
foreach ( $rakamlar as $rakam )
-
$toplama_sonuc += $rakam;
-
-
return $toplama_sonuc;
-
}
-
-
function islem($degerler)
-
{
-
$islem_sonuc = 0;
-
-
return $islem_sonuc;
-
-
for ( $i = 0; $i <count($degerler[islemler]); $i++ )
-
switch ( $degerler[islemler][$i] )
-
{
-
case "topla":
-
$islem_sonuc += $this->topla($degerler[rakamlar][$i]);
-
break;
-
case "carp":
-
$islem_sonuc += $this->carp($degerler[rakamlar][$i]);
-
break;
-
}
-
-
$islem_sonuc = "Hesaplayan: ".$this->hesaplayan."\nSonuç: ".$islem_sonuc;
-
-
return $islem_sonuc;
-
}
-
}
Bir sınıfı kullanmak için öncelikle sınıfı bir nesne olarak ele almalıyız.
$hesapla = new ornek_sinif();
Artık $hesapla adlı değişkenimizi ornek_sinif() nesnesine eşitledikten sonra sınıfımıza ait fonksiyonları $hesapla değişkeni üzerinden kullanabiliriz. Örnek olarak bir toplama işlemini;
echo $hesapla->topla( array(5, 5, 3, 4, 6) );
şeklinde hesaplattıktan sonra ekranda elde edeceğimiz çıktı (5+5+3+4+6) 23 olacaktır. Bir çarpma işlemi yaptırmak istersek;
echo $hesapla->carp( array(5, 5, 2, 2) );
ile ekrana (5x5x2x2) 100 yazdıracağız. Hepsinin sonunda tek bir satırda tüm işlemleri istediğimiz kadar kullanmamızı sağlayan islem() fonksiyonunu ise şu şekilde kullanabiliriz -çok dizi değişkeni kullanıldığından açarak yazıyorum-;
Gördüğünüz üzere hazır sınıflar, nasıl kullanılacakları anlatıldığı taktirde oldukça basit ve kullanışlıdır
Sayfalar: 1 2
Toplamda 11284 kez okunmuş.
Şu an 2 kişi okuyor.
En fazla 5 kişi aynı anda okumuş.
Bugün 1 kez okunmuş.
Etiketler: ajax, orta, php, seminer
Trackback Yorumları takip et Baskı Önizleme

(23 oy, ortalama 4.43)
# yakuter | 06 Şubat 2007, 00:03
Çok güzel bir makale olmuş. İnsanlara rehber olacağına eminim. Ellerine sağlık
# Mustafa İleri | 06 Şubat 2007, 00:37
Bravo Onur. Eline sağlık, devamını bekliyorum
# Gürkan OLUÇ [grkn] | 06 Şubat 2007, 00:56
gerçekten çok güzel teşekkürler
# Ali Altuğ KOCA | 06 Şubat 2007, 03:32
çok güzel bir makale olmuş arkadaşlar.ajax öğrenmeye yeni başladım.
siteyi gün gün takip ediyorum. çok güzel bi iş yapıyorsunuz.
# H5N1 | 06 Şubat 2007, 04:07
kıvıracaz bunuda heralde sayenizde…………
# nothingrows | 06 Şubat 2007, 18:41
Çok teşekkür ederim, ikinci bölümü yolda. Gözünüz buralarda olsun
# hasan | 05 Nisan 2007, 11:32
echo
‘Öğrenci Kuladi : ‘.$rs->fields[’kullanici’].'’.
‘Öğrenci Adı : ‘.$rs->fields[’adi’].'’.
‘Öğrenci Soyadı : ‘.$rs->fields[’soyadi’].'’.
‘Öğrenci Email : ‘.$rs->fields[’email’].'’.
‘Öğrenci Sifre : ‘.$rs->fields[’sifre’].'’.
‘fields[’kullanici’].’”>Sil’.
‘fields[’kullanici’].’”>Duzenle’;
ya ben bole bisi yazdim ancak
ogrenci kuladi, adi, soyadi, email, sifre bunlari veritabanindan aliyorum ancak sil ve duzenle kisimlarini gostermio neden olabilir nerde hata yaptim gene bi yardim edin pls
# Kemal | 16 Mayıs 2007, 12:40
Merhaba,
Çok güzel ve eğitici bir proje olacağına eminim. Projenin devamını sabırsızlıkla bekliyorum.
Emeğiniz için çok teşekkürler.
# Hakan | 23 Mayıs 2007, 14:04
Çok yararlı bir site olmuş elinize sağlık. Benim sorunum ajax tekniği ile çektiğim veriler de türkçe karakter sorunu oluyor.(Çekilen veriler mysqlden geliyor.)
# ismail | 24 Ağustos 2007, 01:54
Sergio Pereira makalenin türkçe çevirisi
http://www.bilisim-kulubu.com/help/prototype.js.html
# ahmet | 12 Eylül 2007, 18:12
guzel makale tesekkurler….
# anov | 12 Ekim 2007, 13:02
Mükemmelsiniz. Şimdiye kadar sizden habersiz olduğum (veya detaylı incelemediğim) için kendimi ayıplıyorum.
# Bilgisayar info » Blog Archives » Salacıoğlu || bir projeyi uygulamanın 1. | 08 Kasım 2007, 07:21
[…] AJAX-TR.COM » Ajax ve PHP İle Komple Proje Yönetimi - Bölüm 1 Bir uygulamayı dağınık kod ve dosya yapıları ile geliştirmek; test aşamasında meydana gelebilecek aksaklıkları gidermek ve proje sonunda doğabilecek artı […]
# Bilgisayar info » Blog Archives » Türkiye Cumhuriyeti Kimlik Numarası || bir projeyi uygulamanın 1. | 11 Kasım 2007, 13:31
[…] AJAX-TR.COM » Ajax ve PHP İle Komple Proje Yönetimi - Bölüm 1 Bir uygulamayı dağınık kod ve dosya yapıları ile geliştirmek; test aşamasında meydana gelebilecek aksaklıkları gidermek ve proje sonunda doğabilecek artı […]
# xxfatooxx | 05 Aralık 2007, 10:52
Harika… Sadece php kullanıyordum şimdiye kadar böyle bir sitenin varlığından haberdar olsaydım ajaxsa çoktan başlardım ama yine de geç kalmadım
# xxfatooxx | 02 Mart 2008, 23:26
arkadaşlar benim bir sorum olacak..bir ticaret(firma) rehberi tasarlıyorum. firmalar bu siteye üye olurken 4 aşamalı bir form dolduracaklar. 1- genel bilgi 2-iletişim 3- kullanıcı adı şifre seçimi ve 4-bilgilerin onaylanması veya güncellenmesi. input ve texareları postlarken şöyle bir sorun yaşıyorum:tüm değerler son sayfada nasıl hatırlanacak? ne yapmalıyım?
# Cihan KOÇ | 05 Nisan 2008, 15:15
Bu makalenin devamı gelmezse çok yazık olur..