آژانس هواپیمایی
tanki

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

شروع موضوع توسط متالیک ‏15 نوامبر 2007 در انجمن PHP

  1. متالیک

    متالیک Registered User

    تاریخ عضویت:
    ‏31 مارس 2007
    نوشته ها:
    1,952
    تشکر شده:
    62
    سلام

    استفاده از 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 بنویسید.

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

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,174
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
    فورم هم میشه با این سابمیت کرد؟
     
  3. bishtar

    bishtar کاربر تازه وارد

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

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

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

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,174
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
    موافقم. من هم تجربه خوبی ندارم ! اصولا این کلاسها و فریم ورک ها رو یه نفر نشسته برای خودش و با توجه به نیازهاش نوشته. بعد با کمی تغییر پابلیکش کرده. اگه خودمون بتونیم یه چیزی با توجه به نیازهای خودمون بنویسیم خیلی خوبتره. تسلطمون هم بهش بیشتر میشه و میتونیم راحت تر دولوپش کنیم.
     
  5. متالیک

    متالیک Registered User

    تاریخ عضویت:
    ‏31 مارس 2007
    نوشته ها:
    1,952
    تشکر شده:
    62
    بله، هر کاری که با php بشه انجام داد اینجا هم می شه فقط بدون این که صفحه refresh بشه.
     
  6. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

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

    متالیک Registered User

    تاریخ عضویت:
    ‏31 مارس 2007
    نوشته ها:
    1,952
    تشکر شده:
    62
    چون من با آخرین ورژنش توضیح ندادم
    آخرین ورژنش با ورژن های قبلی کمی فرق می کند و آرگومان هایش فرق می کند
    با ورژن 2.3 که لینک دانلود دادم استفاده کنید
    به نظر من از بقیه ی فریم ورک ها خیلی قوی تر است
    چون شما شاید فریم ورک های دیگه رو ندیدید فکر می کنید قوی نیست
    مثلا sajax رو ببینید که چقدر پیچیدگی داره و اصلا امکانات این رو نداره
     
  9. Shahed

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,174
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
    مطمئنی؟؟؟
     
  10. متالیک

    متالیک Registered User

    تاریخ عضویت:
    ‏31 مارس 2007
    نوشته ها:
    1,952
    تشکر شده:
    62
    راستش رو بخوای نه!
    هرکاری که نمی شه کرد
    در مورد فرم از دیروز تا حالا دارم فکر می کنم ببینم چه جوری می شه فرم رو با phplivex ارسال کرد هنوز به نتیجه نرسیدم!
     
  11. متالیک

    متالیک Registered User

    تاریخ عضویت:
    ‏31 مارس 2007
    نوشته ها:
    1,952
    تشکر شده:
    62
    جون داداش ببین چه کار کردم!
    خودم کیف کردم...

    نمونه ای از ارسال فرم با 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>
     
  12. 2x2

    2x2 کاربر تازه وارد

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

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

    sama_sally Registered User

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

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

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

    hamedana Registered User

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

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

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    بله درسته. منم همينو گفتم.
     
  16. babaram

    babaram کاربر تازه وارد

    تاریخ عضویت:
    ‏13 دسامبر 2007
    نوشته ها:
    34
    تشکر شده:
    0
    ممنونم. اين نمونه سايت هم عالي و ولي بخدا با يك فايلي كه jquery به ما ميده و فكر كنم آخرين ورژنش يك اصلاحيه هم داره من نمي دونم چطوري ميشه يك صفحه اچتمل با استايهاش و عكس و همچنين منوي جاوا را توي يك صفحه ديگر لودش كرد

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

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

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

    babaram کاربر تازه وارد

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

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

    دانلود
     
avanak همکاری در فروش عسل طبیعی و گرده گل ایرانیتبلیغات در گوگل