Farsi: Xajax 0.2: Xajax in 10 minutes
Farsi: Xajax 0.2: Xajax in 10 minutes
یادگیری xajax در 10 دقیقه
استفاده xajax در اسکریپت PHP
Xajax به گونه ای طراحی شده است که می تواند به سادگی در اجرای برنامه های تحت وب
موجود مورد استفاده قرار بگیرد، را به خوبی پروژهای جدید آسان کند. شما می توانید
قدرت xajax را تقریبا در هر اسکریپت PHP، با اجرای 7 مرحله آسان، بکار بگیرید:
1- قرار دادن کلاسهای کتابخانهXajax
Require_once("xajax.inc.php");
2- ایجاد شیء xajax
$xajax = new xajax();
3- ثبت كردن نام توابع PHP که شما می خواهید از طریق xajax صدا بزنید:
$xajax -> registerFunction("myFunction");
4- توابع PHP که ثبت کرده اید ایجاد کنید، و برای بر گرداندن دستورات XML از آنها از xajaxResponse استفاده کنید.
function myFunction($arg)
{
// do some stuff based on $arg like query data from a database and
// put it into a variable like $newContent
// Instantiate the xajaxResponse object
$objResponse = new xajaxResponse();
// add a command to the response to assign the innerHTML attribute of
// the element with id="SomeElementId" to whatever the new content is
$objResponse->addAssign("SomeElementId","innerHTML", $newContent);
//return the xajaxResponse object
return $objResponse;
}
5-قبل از اينكه اسکریپت شما خروجی را بفرستد ، xajax ، هردرخواستی را مورد پردازش فرار می دهد:
$xajax->processRequests();
6-بین تگ های <head></head> ،کدی را قرار می دهید که به xajax اعلام کند که کد JavaScript را بکار گیرد:
<?php $xajax->printJavascript(); ?>
7-فراخواني توابعی از یک رویداد(event) JavaScript یا تابعی در application شما(شما باید SomeArgument را به یک متغیر واقعی تغییر دهید ، مثلا یک رشته string،و
یا یک عدد و یا انواع دیگر متغیرها... وارد کردن SomeArgument ضروری است):
<div id="SomeElementId"></div> <form action="get"> <input type="button" value="Insert" onclick="xajax_myFunction(SomeArgument);" /> </form>
تمام شد !،خود xajax مراقب بقیه کارها هست،بزرگترین کار شما ایجاد توابع PHP و
بر گرداندن XMLاز آنها هست کهxajaxResponse این کار را به سادگی انجام می دهد.
چگونه محتوا را به صورت غير همزمان تغییر دهم؟
شايد منحصر به فرد ترين ويژگي xajax ،xajaxResponse class مي باشد .بقيه كتابخانه هاي ajax نياز دارند كه شما خودتان کدهای javascript را براي پردازش داده های برگشت داده شده از درخواستهای HTTP و تغییر محتوا بنويسيد.
از طرف دیگر، Xajax ،به شما اجازه مي دهد به راحتي محتوا را از PHP كنترل كنيد. كلاس xajaxResponse به شما اجازه مي دهد توابع PHP در Application شما دستورالعمل هاي XML را برگردانند.
XML بوسيله xajax تجزيه مي شود ودستورالعمل های XML به xajax مي گويد كه چه طور محتوا و حالت سایت شما را به روز كند. كلاس xajaxResponse اخيرا تعدادي از دستورات مفيد را ارائه كرده است: مثل Assign كه صفات مشخص يك المنت را در صفحه شما مقدار دهي مي كند Append كه داده را به انتهاي صفت مشخص يك المنت در صفحه مي افزايد،
Prepend كه داده را به ابتداي صفت مشخص يك المنت در صفحه شما مي افزايد، Replace كه داده را در صفت يك المنت در صفحه شماجستجو و جايگزين مي كند، Script كه كدهاي JavaScript را اجرا مي كند و Alert كه يك کادر پیغام با متن مورد نيازتان نشان مي دهد.
يك پاسخ XML مي تواند شامل چندين دستور باشد كه آنها به ترتيبي كه به پاسخ اضافه شده اند اجرا خواهند شد .به عنوان مثال در نظر بگيريد كه يك كاربر روي يك Button در application تان كليك مي كند .رويداد onclick یک کد JavaScript را براي تابع PHP فراخواني مي كند. کد javascript يك در خواست را به سرور (جايي كه xajax تابع PHP را فراخواني مي كند )از طريق XMLHttpRequest مي فرستد.تابع PHP يك جستجوي پايگاه داده ، دستكاري بعضي از داده ها يا serialization و غیره .... را انجام مي دهد . شما از كلاس xajaxResponse براي ايجاد يك پاسخ xajax XML که شامل چندین دستور براي برگرداندن به پيغام هاي ارسالي xajax براي اينكه اجرا شود استفاده مي كنيد.
$objResponse = new xajaxResponse();
$objResponse->addAssign("myInput1","value",$DataFromDatabase);
$objResponse->addAssign("myInput1","style.color","red");
$objResponse->addAppend("myDiv1","innerHTML",$DataFromDatabase2);
$objResponse->addPrepend("myDiv2","innerHTML",$DataFromDatabase3);
$objResponse->addReplace("myDiv3","innerHTML","xajax","<strong>xajax</strong>");
$objResponse->addScript("var x = prompt(\"Enter Your Name\");");
return $objResponse;
پيغام هاي ارسالي xajax پيغام هاي XML را تجزيه مي كنند و كارهاي زير را انجام مي دهند:
- مقدار المنت با این شناسه:myInput1 به داده $DataFormDatabase نسبت داده خواهد شد. - رنگ متن در المنت با شناسه: myInput1 به قرمز تغيير خواهد كرد. - داده $DataFromDatabase2 به innerHTML المنت با شناسهmyDiv1 افزوده مي شود. - داده $DataFromDatabase3 به ابتداي innerHTML مربوط به المنت myDiv2 افزوده مي شود . - همه عبارات ""xajax در innerHTML مربوط به المنت با myDiv3 با "xajax" جايگزين مي شوند; همه عبارات xajax به صورت bold ظاهر مي شوند. - خط فرمان و سوالي را كه نام كاربر را مي خواهد نمايش داده می شود و مقدار که به خط فرمان توسط کاربر داده شده در يك متغير جاوا اسكريپت به نام x قرار داده خواهد شد.
همه اينها در حالت server side بویسله یک تابع PHP که بصورت xajax XML خروجی را بر می گرداند پياده سازي خواهد شد.
ولی صبر کنید،هنوز تمام نشده است!