ساخت رابط کاربری تحت ویندوز php-gtk

شروع موضوع توسط k2-4u ‏6 آوریل 2012 در انجمن مقالات و آموزش‌ها

  1. k2-4u

    k2-4u Active Member

    ارسال‌ها:
    1,311
    تشکر شده:
    1,259
    امتیاز دستاورد:
    36
    مدیرهای عزیز من که دیگه دسترسی ندارم! لطفا زحمت مهم کردن این مطلب رو بکشید ممنون

    شروع کار با PHP-GTK

    مقدمه
    خب دوستان وقتی شنیدم PHP رابط کاربری داره زیاد به مطالبش دقت نکردم تا اینکه یک روز نیاز شد یک برنامه تحت ویندوز
    بنویسم و وقتی دیدم به کلی وقت برای یادگیری یک زبان برنامه نویسی جدید نیاز دارم رو به GTK آوردم و متوجه شدم که برای خودش دنیای داره و قابلیت ساخت یک نرم‌افزار خوشگل تحت ویندوز و لینوکس رو داره ! و این نکته هم قابل توجه که مثل جاوا می‌شه روی چند سیستم عامل ازش استفاده کرد . php-GTK یک کامپایلر جدا داره ولی تموم قابلیت‌های php رو به شما میده به اضافه اینکه یک سری قابلیت‌های php که مثلاً روی هاستینگ به دردنمیخورن مثل Socket Programing رو برای شما محیا می‌کنه

    دانلود و اجرای کد
    برای کار با php-gtk شما ابتدا باید کل سورس gtk رو از قسمت دانلود سایت http://gtk.php.net/ دریافت کنید [ دانلود php-gtk 2.0 ] و extention ها رو برای gtk باید از این لینک دریافت کنید بعد از دریافت gtk شما فایل رو از حالت zip خارج کنید . و مثلاً در آدرس C:/PHP-GTK قرار دهید سپس اسکریپ مورد نظر را در یک فایل مثلاً به اسم name.php بنویسید ، وارد CMD شده و دستور c:/php-gtk/php.exe name.php را اجرا کنید کد نوشته شده اجرا میشود . ولی gtk چند مشکل بزرگ داره اول اینکه هیچ برنامه و استدیو برای کار نداره و باید همه رو کد نویسی کنید مشکل دوم اینه که بعد از اجرای کد صفحه باید یک پنجره CMD رو هم تحمل کرد البته برای اون یک راه پیدا کردم که این مشکل رو برطرف می‌کنه حالا بریم سراغ اولین مثال

    ساخت یک پنجره و نمایش hello word (تصویر ضمیمه )
    PHP:
    <?php
    $window = new GtkWindow();
    $window->connect_simple('destroy', array('Gtk','main_quit'));
    $label = new GtkLabel("hello world!");
    $window->add($label);
    $window->show_all();
    Gtk::main();
    ?>
    1 – شی GtkWindows : برای ساخت پنجره . که اینجا پنجره اصلی رو میسازه

    2- متد connect_simple : این متد کارش اجرای یک کد بعد از یک رویداده . در این کد رویداد destroy وقتی اجرا میشه که ضبدر بستن پنجره کلیک بشه در نتیجه main_quite اجرا میشه و کل برنامه متوقف و بسته میشه

    3- شی GtkLabel : برای ساخت یک برچسب متن استفاده میشه که بعد در خط 4 به پنجره ساخته شده در خط 1 اضافه میشه

    4- متد show_all هم برای نمایش و اجرای تغییرات داده شده به شی Gtkwindows لازمه و بعد متد Gtk::main که کل قسمت رابط کاربری برنامه بعد از این متد ساخته میشه و وجودش در همه برنامه ها ضروریه

    و حالا برای اجرای برنامه (بعد از اینکه php-GTK رو دانلود کردید ، از حالت ZIP خارج کردید و در آدرس C:/php-gtk قرار دادید !) کدهای بالا رو در فایل مثلاً test.php ذخیره کنید و در همون فولدر C:/php-gtk بگذارین ، حالا تو CMD ( داخل Run بزنید CMD) این دستور رو وارد کنید C:/php-gtk/php.exe test.php
    اگه برنامه رو درست نوشته باشید یک پنجره مثل شکل بالا باز میشه البته پنجره cmd هم باز می‌مونه برای حل این مشکل..

    حل مشکل پنجره CMD و آیکون اجرای برنامه نوشته شده با PHP-GTK

    این برنامه رو دانلود کنید hstart.exe
    (راهنما و منبع : http://www.ntwind.com/software/hstart/ )

    این برنامه بعد از اجرای اسکریپ پنجره CMD رو مخفی می‌کنه . فایل hstart.exe رو در فولدر php-gtk بگذارید سپس برای اجرای اسکریپ مورد نظر از دستور
    کد (Text):

    C:\php-gtk2\hstart.exe /NOCONSOLE "php test.php"
     
    استفاده کنید ولی یک مشکل دیگه هم هست و اون اینکه چطوری آیکونی درست کنیم که اجرای اون مستقیم برنامه مورد نظر رو باز کنه . برای این کار کافیه
    رو دستکاپ راست کلیک کنید و از new-<shortcut رو انتخاب کنید بعد یک ویزارد باز میشه که یک آدرس از شما میخواد و شما همین دستور بالا رو به جای آدرس وارد کنید .

    منبع : www.k2-4u.com
     

    پیوست ها:

    • 0001.gif
      0001.gif
      اندازه فایل:
      کیلوبایت 2
      نمایش ها:
      24
    نوشته شده توسط k2-4u در ‏6 آوریل 2012
    scup، hassancd، saadatmsg و 2 نفر دیگر از این ارسال تشکر کرده اند.
  2. scup

    scup Member

    ارسال‌ها:
    549
    تشکر شده:
    385
    امتیاز دستاورد:
    16
    فوق العاده بود! به نظرتون امکانش هست که gtk رو به لوکال هم ارتباط بدیم؟ یعنی یکسری دستوراتو از لوکال بگیره و روی OS پیاده کنه؟؟!
     
    نوشته شده توسط scup در ‏6 نوامبر 2012

به اشتراک بگذارید