برگزیده های پرشین تولز

آموزش Ajax با PHP: فریم ورک PHPLiveX در چند دقیقه برای همیشه!

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
سلام

استفاده از Ajax به تنهایی کمی مشکل می باشد. در این راستا class های مختلفی جهت راحت تر شدن کار با Ajax به زبان های مختلف نوشته شده است که به این نوع کلاس ها فریم ورک گفته می شود. فریم ورک های زیادی برای PHP وجود دارد که اینجانب بعد از بررسی راحت ترین و قدرتمندترین آن ها را پیدا کردم که نام آن PHPLiveX می باشد. در این مقاله سعی دارم نحوه ی استفاده از این فریم ورک را توضیح دهم.

ابتدا فایل فشرده PHPLiveX را از اینجا http://rapidshare.com/files/69814081/PHPLiveX.rar دانلود کنید و آن را Extarct کنید. درون آن سه فایل وجود دارد که فقط فایل PHPLiveX.php به درد ما می خورد آن را برای خود نگه دارید. فایل های دیگر فایل های لازم برای انجام مثال این مقاله می باشد.

مثال: فرض کنید می خواهیم با کلیک بر روی سه لینک مختلف تصاویر آن ها به صورت Ajax نمایش دهیم.

قدم اول: فایل php خود را این گونه بنویسید:
PHP:
<?php
Require(' PHPLiveX.php ');
قدم دوم: بعد از آن توابعی که نیاز دارید تا به صورت Ajax از آن ها استفاده کنید بنویسید:
PHP:
function pic($id,$alt) {
   return "<img src='pic$id.png' alt='$alt'>";
}
نام این تابع pic می باشد که دو آرگومان id و alt را می گیرد. آرگومان id شماره تصویر و آرگومان alt راهنمای تصویر می باشد. سپس کد html مربوط به آن را بر می گرداند.

قدم سوم: بعد از آن که توابع خود را تعریف کردید باید آن ها را به PHPLiveX معرفی کنید، برای این کار از کد زیر استفاده کنید:
PHP:
$plx = new PHPLiveX('pic');

توجه کنید نام متغیر plx را تغییر ندهید. اگر بیش از یک تابع دارید باید این گونه بنویسید:
PHP:
$plx = new PHPLiveX('pic,func2,func3,…');

قدم چهارم: کدهای HTML خود را قرار دهید و فقط در قسمت script صفحه ی وب خود دستور مربوطه را که در مثال زیر آمده است بنویسید:
PHP:
<html dir="rtl">

<head>

<title>PHPLiveX Ajax Examples</title>
<script language="javascript">
<? $plx->Run(); ?>
</script> 

</head>

<body>
راه اندازی PHPLiveX به پایان رسید. حالا هر کجا که خواستید با JavaScript تابع مورد نظر خود را در php با Ajax فراخوانی کنید، نام همان تابع را به همراه آرگومان های لازم بنوسید:
PHP:
<center>
<a href="#" onlclick="pic(1,'ساعت', 'target=showImage');">ساعت</a>
<a href="#" onlclick="pic(2,'قیچی', 'target=showImage');">قیچی</a>
<a href="#" onlclick="pic(3,'کامپیوتر', 'target=showImage');">کامپیوتر</a>
<table border="0">
<tr><td><span id="showImage"></span></td></tr>
</table>
</center>
قدم پنجم: توجه کنید که تابعی که با JavaScript فراخوانی می کنید دارای یک آرگومان اضافه می باشد. در این آرگومان اضافه باید موارد زیر را مشخص کنید:
Target: در این قسمت id جایی که می خواهید نتایج حاصله نمایش داده شوند بنویسید
Method: شیوه ی اجرا می باشد که می تواند post و یا get باشد. اگر نوشته نشود به طور پیش فرض get است.
Preload: در این قسمت id جایی که می خواهید در هنگام اجرای تابع loading نمایش داده شود بنویسید.
Type=r: اگر از این عنوان استفاده شود دیگر نیازی به 3 عنوان فوق نیست. از این عنوان هنگامی استفاده می شود که فقط بخواهید نتایج را بگیرید و از نتایج آن در توابع یا کدهای دیگر استفاده کنید. مثال:
PHP:
Document.write(vazneideal ('165','male','type=r'));
در مثال فوق vazneideal محاسبه شده و داخل پرانتز قرار می گیرد.

تمام شد! شما حالا به راحتی می توانید اسکریپت های تحت ajax را بدون نیاز به دانستن ajax با استفاده از php بنویسید.

سوالات خود را در این زمینه حتما مطرح کنید. موفق باشید
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
فورم هم میشه با این سابمیت کرد؟
 

bishtar

کاربر تازه وارد
تاریخ عضویت
3 ژوئن 2007
نوشته‌ها
214
لایک‌ها
5
محل سکونت
هرکجا بغیر از اینجا
فریم ورک ها همشون یه جایی تو کار اخلال ایجاد می کنن من خودم مدتی از Xajax استفاده می کردم خیلی خوب بود ولی محدودیتهای داشت . بالاخره هم خودم کدها رو نوشتم و خیال خودم رو راحت کردم.

آدرس سایت : http://www.phplivex.com/ مطالب جالبی تو سایتش هست.

جالبه که سازندگان این کلاس ترک هستند
با اینهمه این یکی رو هم تست می کنم ان شاء الله که دست شما درد نکند.
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
فریم ورک ها همشون یه جایی تو کار اخلال ایجاد می کنن من خودم مدتی از Xajax استفاده می کردم خیلی خوب بود ولی محدودیتهای داشت . بالاخره هم خودم کدها رو نوشتم و خیال خودم رو راحت کردم.

آدرس سایت : http://www.phplivex.com/ مطالب جالبی تو سایتش هست.

جالبه که سازندگان این کلاس ترک هستند
با اینهمه این یکی رو هم تست می کنم ان شاء الله که دست شما درد نکند.
موافقم. من هم تجربه خوبی ندارم ! اصولا این کلاسها و فریم ورک ها رو یه نفر نشسته برای خودش و با توجه به نیازهاش نوشته. بعد با کمی تغییر پابلیکش کرده. اگه خودمون بتونیم یه چیزی با توجه به نیازهای خودمون بنویسیم خیلی خوبتره. تسلطمون هم بهش بیشتر میشه و میتونیم راحت تر دولوپش کنیم.
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
همين مثال خودت رو زدم كار نمي كنه
با اخرين ورژنش تست كردم
خيلي قوي نيست
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
همين مثال خودت رو زدم كار نمي كنه
با اخرين ورژنش تست كردم
خيلي قوي نيست

چون من با آخرین ورژنش توضیح ندادم
آخرین ورژنش با ورژن های قبلی کمی فرق می کند و آرگومان هایش فرق می کند
با ورژن 2.3 که لینک دانلود دادم استفاده کنید
به نظر من از بقیه ی فریم ورک ها خیلی قوی تر است
چون شما شاید فریم ورک های دیگه رو ندیدید فکر می کنید قوی نیست
مثلا sajax رو ببینید که چقدر پیچیدگی داره و اصلا امکانات این رو نداره
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
راستش رو بخوای نه!
هرکاری که نمی شه کرد
در مورد فرم از دیروز تا حالا دارم فکر می کنم ببینم چه جوری می شه فرم رو با phplivex ارسال کرد هنوز به نتیجه نرسیدم!
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285

جون داداش ببین چه کار کردم!
خودم کیف کردم...

نمونه ای از ارسال فرم با PHPLiveX با چند خروجی از یک تابع:


PHP:
<?php

require('PHPLiveX.php');

function sendmail($name, $message) {
if ((!$name) or (!$message)) {
 return "Empty Fields!";
} else {
$message = "Message from $name: $message";
if (mail('[email protected]', 'Comment', $message)) return "Your Message Have been Sent!"; else return "Sending Error!";
}
}

$plx = new PHPLiveX("sendmail");

?>

<html>

<head>
<script language="javascript">
<? $plx->Run(); ?>
</script>
</head>

<body>
<center>
<table border=0 width="30%">
<form>
<tr><td>Your Name:</td><td><input type="text" name="name" /></td></tr>
<tr><td>Message:</td><td><textarea name="message"></textarea></td></tr>
<tr><td>&nbsp;</td><td><input type="reset">
<input type="button" value="Send" onclick="sendmail(document.forms[0].name.value,document.forms[0].message.value,'target=showText,preload=loading')"></td></tr>
</form>
<tr><td>Status:</td><td><span id="showText"></span><span id="loading" style="visibility:hidden;background-color: red; color: white; padding: 2px">Please Wait...</span></td></tr>
</table>
</center>
</body>

</html>
 

2x2

کاربر تازه وارد
تاریخ عضویت
16 مارس 2007
نوشته‌ها
11
لایک‌ها
0
سلام

نظرتون در مورد Zend یا symfony چیه؟
نصب و کارایی همه فریم ورک ها مثلا همه؟ من میخوام مثلا زند رو نصب کنم چطوری باید این کار رو انجام بدم فایل ها رو خوندم اما چیزی نفهمیدم
آیا مثل همین فریم ورک کار میشه
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
خير دوست من. اين فريم ورك ها به اين سادگي كار نميكنن. كارآيي شون خيلي زياده و خيلي پيچيده هستن و براي پروژه هاي خيلي بزرگ استفاده ميشه. نمي ارزه به حجمش كه براي يه پروژه ساده ازش استفاده كرد.

من كه براي بيشتر كارهام از prototype استفاده ميكنم. هرچند راهنما و مثال زياد نداره ولي خوب بايد با تجربه به دست آورد. قوي و كارآمد هست. و كار رو حرفه اي ميكنه. البته حجم 50kb ش براي ايران بعضي وقتا دردسر ساز ميشه.

باهاش همه كاري ميشه كرد. - همه كاري.
 

hamedana

Registered User
تاریخ عضویت
29 دسامبر 2004
نوشته‌ها
372
لایک‌ها
0
سن
41
محل سکونت
Hamedan
من کوچیکتر از این حرفام که نظر بدم اما خوب نظر میدم:ی
برای ای جکس با پی اچ پی من با نظر sama_sally موافقم . سایر فرم ورک های که ارائه شدن به نوعی شخصی نوشته شده و مسیر خاصی رو طی کردن . اما فرم ورک هایی مثل prototype, mootools و جیگر خودم jquery خیلی فرق می کنند. گستردگی فراوانی دارند. و قدرت خیلی زیاد.

بسیار دست باز هستند. به طوری که شما قادر هستید خیلی ساده کد های پی اچ پی تون در یک فایل قرار بدین و با استفاده از توابع این فرم ورک های خروجی صفحات پی اچ پی تون رو با جاوا در هر جا که می خواهید یا در هر تگی قرار بدید.
این هم یک نمونه ساده www.ceic08.ir
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
من کوچیکتر از این حرفام که نظر بدم اما خوب نظر میدم:ی
برای ای جکس با پی اچ پی من با نظر sama_sally موافقم . سایر فرم ورک های که ارائه شدن به نوعی شخصی نوشته شده و مسیر خاصی رو طی کردن . اما فرم ورک هایی مثل prototype, mootools و جیگر خودم jquery خیلی فرق می کنند. گستردگی فراوانی دارند. و قدرت خیلی زیاد.

بسیار دست باز هستند. به طوری که شما قادر هستید خیلی ساده کد های پی اچ پی تون در یک فایل قرار بدین و با استفاده از توابع این فرم ورک های خروجی صفحات پی اچ پی تون رو با جاوا در هر جا که می خواهید یا در هر تگی قرار بدید.
این هم یک نمونه ساده www.ceic08.ir
بله درسته. منم همينو گفتم.
 

babaram

کاربر تازه وارد
تاریخ عضویت
13 دسامبر 2007
نوشته‌ها
34
لایک‌ها
0
من کوچیکتر از این حرفام که نظر بدم اما خوب نظر میدم:ی
برای ای جکس با پی اچ پی من با نظر sama_sally موافقم . سایر فرم ورک های که ارائه شدن به نوعی شخصی نوشته شده و مسیر خاصی رو طی کردن . اما فرم ورک هایی مثل prototype, mootools و جیگر خودم jquery خیلی فرق می کنند. گستردگی فراوانی دارند. و قدرت خیلی زیاد.

بسیار دست باز هستند. به طوری که شما قادر هستید خیلی ساده کد های پی اچ پی تون در یک فایل قرار بدین و با استفاده از توابع این فرم ورک های خروجی صفحات پی اچ پی تون رو با جاوا در هر جا که می خواهید یا در هر تگی قرار بدید.
این هم یک نمونه ساده www.ceic08.ir

ممنونم. اين نمونه سايت هم عالي و ولي بخدا با يك فايلي كه jquery به ما ميده و فكر كنم آخرين ورژنش يك اصلاحيه هم داره من نمي دونم چطوري ميشه يك صفحه اچتمل با استايهاش و عكس و همچنين منوي جاوا را توي يك صفحه ديگر لودش كرد

توي سايتها و پستهاي مختلف ديدم ولي همشون مقدماتي هستند و تا همون لود يك تكست بيشتر جلو نميرند

ممنون ميشوم اگر كسي آموزش كامل بده و يا لينك يا مقاله فارسي مفيد بده

فكر ايجاد يك مركز آموزش و پشتيباني از Ajax هم بد نيست كه اگربچه هاي اهل فن موافق باشند روي هاست و دامنه و سايت و پشتيباني من مي تونند حساب كنند
 

babaram

کاربر تازه وارد
تاریخ عضویت
13 دسامبر 2007
نوشته‌ها
34
لایک‌ها
0
من يك فايل تست درست كردم

لطفا اگر دوستان دليل كار نكردن صفحه دوم را مي دونند راهنمايي كنند

دانلود
 
بالا