| 개발자 | 안드레이 지미에프스키 |
|---|---|
| 발표일 | 2001년 3월 |
| 안정화 버전 | 2.0.1
/ 2015년 1월 15일 |
| 운영 체제 | 크로스 플랫폼 |
| 종류 | 언어 바인딩 |
| 라이선스 | GNU 약소 일반 공중 사용 허가서 |
| 웹사이트 | gtk |
PHP-GTK는 PHP 프로그래밍 언어를 위한 언어 바인딩 세트로, GTK 그래픽 사용자 인터페이스(GUI) 응용 프로그램을 PHP로 작성할 수 있게 한다. PHP-GTK는 GTK 클래스와 함수에 대한 객체 지향 프로그래밍 인터페이스를 제공한다. PHP-GTK는 GTK2를 일부 지원하지만, GTK3는 지원하지 않는다.
PHP-GTK는 원래 안드레이 지미에프스키(Andrei Zmievski)에 의해 구상되었으며, 그는 PHP와 젠드 엔진 개발에도 활발히 참여하고 있다. 이 아이디어는 PHP 커뮤니티에서 좋은 반응을 얻었으며, 더 많은 사람들이 프로젝트에 참여하기 시작했다. 제임스 무어(James Moore)와 스테프 폭스(Steph Fox)가 가장 먼저 합류한 사람들 중 하나로, 문서화 작업을 통해 PHP-GTK에 큰 기여를 했으며, PHP 개발 팀 소속인 프랑크 크로만(Frank Kromann)은 마이크로소프트 윈도우용 바이너리를 제공했다.
PHP-GTK의 첫 번째 버전은 2001년 3월에 출시되었다. 더 많은 사람들이 참여하기 시작했고, Scintilla 및 GtkHTML과 같은 새로운 GUI 위젯을 도입하는 여러 확장이 기여되었다. PHP-GTK 1.0은 2003년 10월에 여러 확장과 함께 출시되었으며, 여기에는 크로스 플랫폼 글레이드 인터페이스 디자이너 UI 빌더를 PHP-GTK 응용 프로그램 제작에 사용할 수 있게 해주는 libglade용 래퍼가 포함되었다.
지미에프스키와 폭스는 프로젝트 작업을 계속했으며, 폭스는 윈도우용 PHP-GTK를 유지 관리했다.
2008년, PHP 5.2의 강력한 객체 모델 지원을 완전히 활용하고 GTK 2.6의 향상된 이식성과 새로운 위젯 세트를 도입하기 위해 PHP-GTK 2.0.0이 출시되었다. 이 프로젝트는 소스 코드 편집기 위젯을 제공하는 GtkSourceView도 지원한다. 클래스의 절반 정도가 완전히 문서화되었다. PHP-GTK 문서 그룹의 일원인 스콧 매턱스(Scott Mattocks)는 PHP-GTK 프로그래밍을 주제로 한 책을 저술하기도 했다.
2015년, PHP 5.5 및 GTK 2.24와 호환되도록 PHP-GTK 2.0.1이 출시되었다.
이 프로젝트는 버전 3이 아닌 GTK 2와만 호환된다.

<?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 샘플 프로그램은 "Hello World!"라는 제목의 GtkWindow 위젯을 인스턴스화하며, 그 안에 "Click Me"라는 라벨이 붙은 GtkButton을 포함한다. 버튼을 누르면 콜백 pressed를 통해 콘솔에 "Hello again - The button was pressed!"라는 메시지가 표시된다.
PHP-GTK 응용 프로그램의 배포를 돕기 위한 여러 도구가 등장했다. PriadoBlender나 Roadsend PHP(현재는 PHP-GTK 1과만 호환되나, 최신 스냅샷에는 PHP-GTK 2가 포함됨)와 같은 PHP 컴파일러는 PHP-GTK로 작성된 응용 프로그램을 독립 실행형 이진 실행 파일로 컴파일할 수 있게 해준다. 앨런 놀스(Alan Knowles)의 PHP 확장 및 응용 프로그램 저장소(PEAR) 패키지인 bcompiler를 통해서도 PHP를 바이트코드로 컴파일하여 소스 코드를 숨길 수 있다.