PHP’nin xajax kütüphanesi sayesinde çok basit bir şekilde ajax uygulamaları geliştirebilir ve xajax web projelerenize kolayca entegre edebileceğiniz bir ajax kütüphanesidir. Php kodlarıyla fonksyonlar oluşturarak çok kolay bir şekilde ajax uygulamaları oluşturabilirsiniz. Üstelik iyi derecede JavaScript bilginizin olmasına bile gerek yok. Aslında ajax konusu başlı başına bir kitap konusu olmasına rağmen ben şimdilik php tarafında xajax kütüphanesini kullanarak ajaxa hızlı giriş yapmayı tercih ediyorum. Bu yazımda xajax kütüphanesinin kurulumu ve basit örnek uygulama yapacağız. İlerleyen yazılarda aşağıda belirttiğim konulara değinerek yazmaya çalışacağım. Başlangıç olarak xajaxa giriş, phpmailler ile mail gönderme ve captcha kullanarak güvenlik kodu üretimi konularına ayrı ayrı değinip daha sonra hepsinin bir arada uygulandığı bir yazı dizisi planlıyorum. Konuyu çok fazla uzatmadan xjax giriş yapalım. Uygulamamıza başlamadan önce xajaxprejext adresinden xajax 0.5 final veya xajax 0.6 beta1 indirmemiz gerekiyor. Sürümlerin arasında çok fazla fark yok fakat xajax 0.5 final php 5.2 de hata almadan çalışıyor. Xajax 0.6 beta1 ise php 5.3 de hatasız çalışıyor. Sürümün çok fazla önemi yok xajax kütüphanesi uygulamamıza include ettiğimiz satırızn başına @ koyarak hataları gösterme deyip devam edebiliriz. Ben yazıyı yazaekn Xajax 0.6 beta1 sürümünü kullanmayı tercih ettim ve indirip klasörün içinden çıkan dosyaları uygulamamızı oluşturacağımız dizine atıyoruz.
Şimdi xajax kütüphanesini 7 adımda kolayca uygulamamıza ekleyelim ve ilk örneğimizi gerçekleştirelim.
1. Adım xajax kütüphanesini ekliyoruz
- require_once("xajax_core/xajax.inc.php");
2. Adım Yeni bir xajax nesnesi oluşturuyoruz.
- $xajax = new xajax();
3.Adım fonksyonumuzun adını önce xajax tarafından çağırılmak üzere kaydediyoruz.
- $xajax->register(XAJAX_FUNCTION,"fonksyonum");
4.Adım kaydettiğimiz fonksyonumuzu oluşturuyoruz.
- function fonksyonum($deger)
- {
- //belirlediğiniz alanda gösterilecek içeriği $icerik değişkenine aktarıyoruz
- $icerik="\$deger degişkeninin değeri: ".$deger;
-
- //xajaxResponse nesnesi oluşturuluyor.
- $objResponse = new xajaxResponse();
-
- // id="eleman_id" olan elemanın özelliklerini ve göstereceği içeriği tanımlıyorz
- $objResponse->assign("eleman_id","innerHTML",$icerik);
- // ister isek id="eleman_id" olan elemanın rengini tanımlıyoruz
- $objResponse->assign('eleman_id','style.color','red');
- // İster isek geriye javascript kodu dödürebiliyoruz
- $objResponse->script('alert("XAjax ile ilk uygulamamız Çalışıyor");');
- //xajaxResponse nesnesini gönderiyoruz.
- return $objResponse;
- }
5.Adım Sayfamızın içeriğini girmeden önce scriptlerimizin başına bunu ekliyoruz. Burada dikkat etmemiz gereken şey buraya kadar yaptıklarımızın arasına <?php ?> taglarından çıkarak html içeriği girmemek yani diğer anlamda bu satırları sayfanın en başına eklemek aksi taktirde processRequest çalışmayacaktır. Bu kodalardan önce bir boşluk karakteri dahi olsa bu geçerlidir.
- $xajax->processRequest();
6.Adım taglarınızın arasına Javascript kodlarını oluşturacak fonksyonu ekliyoruz
- <?php $xajax->printJavascript(); ?>
7.Adım Uygulamamıza bir buton birde div tagı ekleyerek buton içerisinden fonksyonumuzu çağırarak id=”eleman_id” olan div alanında sonuçlarımızı gösteriyoruz.
Son olarak çalışan uygulamamızı aşağıda görebilirsiniz.
- <?php
- include 'xajax_core/xajax.inc.php';
- $xajax=new xajax();
- $xajax->register(XAJAX_FUNCTION,"fonksyonum");
- function fonksyonum($deger)
- {
- $icerik="\$deger degişkeninin değeri: ".$deger;
- $objResponse = new xajaxResponse();
- $objResponse->assign("eleman_id","innerHTML",$icerik);
- $objResponse->assign('eleman_id','style.color','red');
- $objResponse->script('alert("XAjax ile ilk uygulamamız Çalışıyor");');
- return $objResponse;
- }
- $xajax->processRequest();
- ?>
- <html>
- <head>
- <title>YTÜ MYO 2011 Ayhan AYHAN BARIŞ İLE İNTERNET PROGRAMCILIĞI - XAJAXA GİRİŞ</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <?php
- //JavaScript kodların oluşturulacağı fonksyonu çağırıyoruz
- $xajax->printJavascript();
- ?>
- </head>
- <body>
- <input type="button" value="Çalıştır" onclick="xajax_fonksyonum('Çalışıyor!');">
- <div id="eleman_id"></div>
- </body>
- </html>
Orjinal paketle birlikte buradaki örnek uygulamayı da içeren paketi buradan indirebilirsiniz. Uygulama ile ilgili Kaynak Kod - Kod Test işlemlerini gerçekleştirebilirsiniz.
Sizin de eklemek istedikleriniz varsa yorumlarınızı bekliyorum.
Gelen Arama Kelimeleri:
- xajax
- xaja net
Benzer Konular
One Response to “XAjax Nedir ve XAjaxa Giriş ?”
Selam herkese. Xajax için bazı diyeceklerim var. Gerçekten harika özellikler sunuyor gibi dursa da büyük projelerde işleri modülleştirmenizi iyi kullanmazsanız gerçekten engel olmaya başlayacak. Söz gelimi projenizi bir gün MVVM pattern ile gerçekleştirmek isterseniz xajax ile devam etmek pek iyi sonuç vermiyor. En azından benim için vermedi. Benim tavsiyem her çözümü kendi platformunda üretmeniz. Ajax için en iyi çözüm javascript platformu bence. Jquery vb. bir çok fw de bunu hayli kolaylaştırıyor. MVVM için backbone, angular gibi ciddi çözümler var front-end kısmında. Bunun da dışında işler artık henüz türkiye’de öyle olmasa da js ile end-to-end çözüm üretmeye doğru ilerliyor. Derby, tower gibi javascript frameworkler hem server hem front-end kısımlarını yazmanızı sağlıyor, tavsiye ediyor.
Bir başka konu ise bir dilin içinden başka bir dili yazmaya çalışmak. Xajax bu konuda farklı alanlardaki olası uygulamalara göre daha kısıtlı bir alanda kullanıldığından güzel görünüyor. Fakat bu tip generator bölümlerin yeni bir yük kaynağı oluşturacağını düşünüyorum. Üstelik bu iş sunucu kısmına hiç yük olmadan browserda yapılabilecekken. Daha ötesinde de bir dili diğeri içinde yazmak her zaman doğru ve verimli değil. Tabi bunlar örneklemesi zor konular ama son diyeceğim büyük projelerde xajax üstüne planlar kurmayındır. Son olarak borsacıların dediği “yatırım tavsiyesi değildir” dediği gibi söyleyim, söylediklerim illa ki genel geçer değildir. Sisteminizi çok iyi planlarsınız xajax libi modifiye edersiniz veya yapısı değişir belki büyük projede de yer alabilir ama düşüncem tavsiye etmemektir.