/
  • Ext.direct چیست؟

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی Ext.direct چیست؟
    نویسنده پیام
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6196 تشکر در 3438 ارسال )
    ارسال: #1
    Ext.direct چیست؟
    Ext.Direct یکی از ایده های Extjs هست که امروز می خوام شما رو باهاش آشنا کنم
    در نرم افزارهای RIA اغلب دارای دو قسمت سمت سرور و سمت کلاینت هستند. کلاینت همیشه باید به سرور بگه لطفا فلان کار رو کن. لطفا فلان کار رو کن. اما داخل کد نویسی شما هم همیشه باید یه درخواست به سرور بفرستین و این درخواست رو انجام بدین. اما با Ext.direct یه مقدار اوضاع فرق می کنه. بهتره بریم سراغش تا ببینمی چی هست
    مواد لازم:
    بسته Extjs نسخه ۳.۰.۳ از اینجا
    بسته Ext.direct pack ‌از‌اینجا
    و فایرباگ
    بسته extdirectpack ‌رو باز کنید و داخل پوشه php برید‌ و محتواش رو روی سرور قرار بدید
    حالا یک فایل html ‌ درست کنید محتوای زیر رو داخلش بریزید (این ماله قسمت کلاینت هست)
    کد PHP:
    <html>
    <
    head>
      <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <
    link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css">
      <
    script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
      <script type="text/javascript" src="ext/ext-all-debug.js"></script>
      <script type="text/javascript" src="api.php"></script>
      <script type="text/javascript">
          Ext.Direct.addProvider(Example.API);
      </script>
    </head>
    <body>
    </body>
    </html> 

    حالا‌ فایل api.php رو‌ باز کنید و محتوای زیر رو داخلش بریزید
    کد PHP:
    <?php
    require_once("config.php");
     
    session_start();
     
    // Include ExtDirect PHP Helpers
    require_once('ExtDirect/API.php');
    require_once(
    'ExtDirect/CacheProvider.php');
     
    // disable caching for development, enable for production
    //$cache = new ExtDirect_CacheProvider('cache/api_cache.txt');
    $api = new ExtDirect_API();
     
    $api->setRouterUrl('router.php'); // default
     
    // disable caching for development, enable for production
    //$api->setCacheProvider($cache);
     
    $api->setNamespace('Example');
    $api->setDescriptor('Example.API');
    $api->setDefaults(array(
        
    'autoInclude' => true,
        
    'basePath' => 'classes'
    ));
     
    $api->add(
        
    // these are example classes from Ext.Direct PHP stack
        
    array(
            
    // real class name is Class_Echo, therefore prefix
            
    'Echo' => array('prefix' => 'Class_'),
     
            
    // real class name is Class_Exception, therefore prefix
            
    'Exception' => array('prefix' => 'Class_'),
            
    'Time',
            
    'File'
        
    )
    );
    $api->output();
     
    $_SESSION['ext-direct-state'] = $api->getState();
     
    // eof
    ?>

    حالا فایل index.html رو با مرورگر باز کنید و با firebug توی‌ قسمت console برید
    حالا این رو داخل کنسول فایر باگ بزنید
    کد:
    Example.Time.get();
    یه‌ درخواست به‌ سرور داده میشه
    کد:
    {"action":"Time","method":"get","data":null,"type":"rpc","tid":2}
    و این جواب گرفته میشه
    کد:
    {"type":"rpc","tid":2,"action":"Time","method":"get","result":"09-05-2009 19:46:38"}

    حالا برید داخل پوشه classes و فایل Time.php رو‌ نگاه کنید و متد get رو‌ ببینید.
    بله ما به راحتی با جاوااسکریپت یک متد از سرور را صدا زدیم و جواب را گرفتیم
    Big Grin

    البته باز جزئیات بیشتری داره که هروقت اومدید سراغ‌ Extjs میتونید بیشتر یاد بگیرید
    (آخرین ویرایش در این ارسال: ۱۳۸۸ آذر ۱۰ ۰۵:۳۶ عصر، توسط admin.)
    ۱۳۸۸ آذر ۱۰ ۰۵:۳۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : zoghal HiddeN parvane میلاد oia Maya amir.s
    oia آفلاین
    محمد ثانی
    *****

    ارسال‌ها: 2,012
    تاریخ عضویت: ۱۳۸۷ آذر ۲۶
    اعتبار: 66
    تشکرها : 2330
    ( 2091 تشکر در 1290 ارسال )
    ارسال: #2
    RE: Ext.direct چیست؟
    می شه باهاش برنامه نویسی رخداد گرای با زبان PHP نوشت؟!!!
    ۱۳۸۸ آذر ۱۱ ۰۲:۱۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6196 تشکر در 3438 ارسال )
    ارسال: #3
    RE: Ext.direct چیست؟
    منظورت چیه؟
    ۱۳۸۸ آذر ۱۱ ۰۲:۲۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    oia آفلاین
    محمد ثانی
    *****

    ارسال‌ها: 2,012
    تاریخ عضویت: ۱۳۸۷ آذر ۲۶
    اعتبار: 66
    تشکرها : 2330
    ( 2091 تشکر در 1290 ارسال )
    ارسال: #4
    RE: Ext.direct چیست؟
    هیچی وقتی پستت رو با دقت بیشتری خوندم از سوالم منصرف شدم!!! Wink
    بزار یه تستس یزنیم بعد نظر می دیم که خدای نکرده گاف ندیم Tongue
    ۱۳۸۸ آذر ۱۱ ۰۶:۲۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS