پی‌اچ‌پی جی‌تی‌کی

**پی‌اچ‌پی-جی‌تی‌کی** مجموعه‌ای از رابط‌های زبانی برای زبان برنامه‌نویسی پی‌اچ‌پی است که امکان نوشتن برنامه‌های دارای رابط کاربری گرافیکی جی‌تی‌کی (GUI) را در پی‌اچ‌پی فراهم می‌کند. پی‌اچ‌پی-جی‌تی‌کی یک رابط برنامه‌نویسی شیءگرا برای کلاس‌ها و توابع جی‌تی‌کی ارائه می‌دهد. پی‌اچ‌پی-جی‌تی‌کی تا حدی از جی‌تی‌کی۲ پشتیبانی می‌کند، اما جی‌تی‌کی۳ پشتیبانی نمی‌شود.

## تاریخچه

PHP-GTK در ابتدا توسط آندری زمویوسکی، که از مشارکت‌کنندگان فعال در توسعهٔ PHP و موتور زند(Zend Engine) نیز بود، مطرح شد. این ایده با استقبال جامعهٔ PHP روبه‌رو شد و افراد بیشتری به پروژه پیوستند. جیمز مور و استف فاکس از نخستین کسانی بودند که با فعالیت‌های مستمر خود در مستندسازی، سهم مهمی در پیشبرد PHP-GTK داشتند. همچنین فرانک کرومان، یکی از اعضای تیم توسعهٔ PHP، نسخه‌های اجرایی ویندوز را برای این پروژه فراهم کرد.
نخستین نسخهٔ پی‌اچ‌پی-جی‌تیکی در مارس ۲۰۰۱ (میلادی) منتشر شد. با گذشت زمان افراد بیشتری به این پروژه پیوستند و افزونه های مختلفی معرفی شدند که شامل ابزارک های جدید رابط کاربری گرافیکی (GUI) مانند Scintilla و GtkHTML بودند. نسخهٔ ۱.۰ پی‌اچ‌پی-جی‌تیکی در اکتبر ۲۰۰۳ (میلادی)، همراه با چندین افزونه دیگر عرضه شد؛ از جمله یک بستهٔ رابط برای libglade که امکان استفاده از Glade Interface Designer را در ساخت برنامه‌های پی‌اچ‌پی-جی‌تیکیفراهم می‌کرد.

آندری زمویوسکی واستف فاکسبه کار روی پروژه ادامه دادند، با این تفاوت که فاکس مسئول نگهداری پی‌اچ‌پی-جی‌تیکی برای ویندوز شد.

در ۲۰۰۸ (میلادی)، پی‌اچ‌پی-جی‌تیکی نسخهٔ ۲.۰.۰ منتشر شد تا به طور کامل از پشتیبانی قدرتمند مدل شیء پی‌اچ‌پی ۵.۲ و همچنین قابلیت حمل بهبودیافته جی‌تی‌کی ۲.۶ و مجموعهٔ جدید ابزارک‌های آن بهره ببرد. این پروژه همچنین از GtkSourceView پشتیبانی می‌کند، که یک ابزارک ویرایشگر کد منبع را فراهم می‌کند. تقریباً نیمی از کلاس ها به طور کامل مستندسازی شده‌اند. اسکات ماتاکس، عضوی از گروه مستندسازی پی‌اچ‌پی-جی‌تیکی، نیز کتابی در زمینهٔ برنامه‌نویسی پی‌اچ‌پی-جی‌تیکی نوشته است.

در ۲۰۱۵ (میلادی)، پی‌اچ‌پی-جی‌تیکی ۲.۰.۱ منتشر شد تا با پی‌اچ‌پی ۵.۵ و جی‌تی‌کی ۲.۲۴ سازگار باشد.

این پروژه تنها با جی‌تی‌کی ۲ سازگار است، نه نسخهٔ ۳.

WxPHP (که همان WxWidgets برای پی‌اچ‌پی است) به عنوان جایگزینی برای توسعهٔ برنامه‌های جی‌تی‌کی پی‌اچ‌پی وجود دارد.
## نمونه

```php
<?php

function pressed()
{
    echo "Hello again - The button was pressed!\n";
}

$window = new GtkWindow();
$button = new GtkButton('Click');
$button1 = new GtkButton('Click');

$window->set_title('Hello World!');
$window->connect_simple('destroy', array('Gtk', 'main_quit'));
$button->connect_simple('clicked', 'pressed');
$button1->connect_simple('clicked', 'pressed');
$window->add($button);
$window->show_all();

Gtk::main();
```

این برنامهٔ نمونه PHP-GTK 2 یک GtkWindow با عنوان «Hello World!» ساخته و یک GtkButton با عنوان «Click Me» در آن قرار می‌دهد. زمانی که دکمه فشرده می‌شود، پیام «Hello again - The button was pressed!» از طریق فراخوانِ (Callback) تابع `pressed` در پنجرهٔ کنسول نمایش داده می‌شود.
## استقرار

ابزارهای متعددی برای سهولت استقرار برنامه‌های PHP-GTK ایجاد شده‌اند. کامپایلرهای PHP مانند PriadoBlender و Roadsend PHP («در حال حاضر فقط با PHP-GTK 1 سازگار است، هرچند آخرین نسخهٔ آزمایشی از PHP-GTK 2 نیز پشتیبانی می‌کند») امکان کامپایل برنامه‌های نوشته‌شده با PHP-GTK را به یک فایل اجرایی مستقل فراهم می‌کنند. بسته  Alan Knowles' PHP Extension and Application Repository (PEAR) package با نامbcompiler نیز امکان کامپایل کد PHP به بایت‌کد را فراهم می‌کند تا کد منبع مخفی بماند.
## جستارهای وابسته
wxPHP
## منابع



## پیوند به بیرون

وبگاه رسمی
جامعه کاربران (بایگانی‌شده در وب‌گاه آرشیو اینترنت در ۳ ژوئن ۲۰۱۲)
Github
ابزار RPGETv6 (رمزگذاری سورس PHP-GTK)
رده:نرم‌افزارهای پی‌اچ‌پی
رده:ابزارهای ویدجت
رده:نرم‌افزارهای رهاشده