**PHP-GTK**, PHP’nin masaüstü yazılım olarak geliştirilmesine katkı sağlamak için oluşturulan bir eklenti olarak yazılmıştır. Diğer masaüstü yazılımlara göre daha zahmetli uygulama olması, GTK’nin gelişmesine engel olsa da, PHP-GTK’nin online bir masaüstü yazılım olabileceği hayali, bu eklentinin rakipsiz bir yazılım olacağının habercisidir.

PHP-GTK, object-oriented programming (OOP) uygulayarak grafik arayüzlü programlar yazmayı sağlamaktadır.

PHP-GTK Nedir?
--------------

PHP-GTK aktif PHP gelişime katkı sağlamak amacıyla oluşturulmuş bir eklentidir. Andrei Zimievski imzalı bir açık kaynak uygulamadır. Oluşturulma amacında PHP dilinin geliştirilmesi yatan bu uygulama PHP topluluğu tarafından kabul görmüştür. Fakat daha sonra bu amaçtan bir hayli çıkacaktır. İlk versiyonu 2001 Mart’ında yayımlandıktan sonra PHP-GTK’nin geliştirilmesine daha fazla yazılımcı katılmaya başlamıştır. Scintilla ve GtkHTML gibi çeşitli widgetler ile uyumlu hale getirilerek büyümesi devam ettirilmiştir.

Daha sonraki süreçte 2003 Ekim aylarında GTK 1.0 versiyonu ile tam anlamıyla açık kaynak platform dahilinde geliştirilmeye bırakılmış ve PHP toplulukları tarafından geliştirilmiştir. Bundan sonra kullanım amacı şekillenen PHP-GTK, PHP5 ile geliştirilen nesne yönelimli programlamayı (OOP) kod içerisine entegre etmiştir. Sürekli olarak gelişime devam eden widgetler ise PHP-GTK’nin gerçek bir masaüstü yazılım olmasına olanak sağlamıştır.

Kimilerine göre Java, C++ ya da C# varken PHP-GTK gibi yorucu ve karmaşık bir uygulama kullanmak oldukça yanlış bir yol gibi görünmekteydi. Fakat PHP bilen bir yazılımcının nesne tabanlı yazılım ile PHP-GTK geliştirmesi hiç de zor bir iş olmayacaktı.

PHP-GTK aslında bir uygulama değil, eklentidir. Yalnızca PHP5.1 ve sonraki versiyonlarda kullanılabilmektedir. Bunun sebebi PHP-GTK’nin nesne yönelimli olması ve nesne yönelimli yazılım geliştirilmesinin de PHP 5.0 sürümünden sonra geliştirilmesidir.

PHP’nin bu masaüstü yazılım eklentisi, herhangi bir web tarayıcısına ya da Apache gibi bir sunucuya ihtiyaç duymamaktadır. Çünkü PHP-GTK bir web uygulaması değil, bir masaüstü uygulaması mantığı ile geliştirilmiştir.

Örnek
-----

Aşağıdaki program PHP - GTK 2 ile yazılmış merhaba dünya örneğidir.

```
<?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();

```
Yukarıdaki örnekte yeni bir GtkWindow nesnesi oluşturulmuştur ve uygulama başlığı "Hello World!" olarak belirtilmiştir. Uygulamaya bir "Click" adında GtkButton konulmuştur. Butona basıldığında "Hello again - The button was pressed!" mesajı konsolda görüntülenir.

| * g
* t
* d
PHP |
| --- |
| Kişiler | 
* Andi Gutmans
* Rasmus Lerdorf
* Zeev Suraski

 |  |
| Kaynaklar | 
* Hızlandırıcı (Liste)
* Composer
* Editörler
* Eklentiler
* PEAR

 |
| Uygulamalar | 
* HHVM
* HPHPc
* Parrot
* PeachPie
* Phalanger
* Quercus
* Zend Engine
* Project Zero

 |
| Web çatıları | 
* CakePHP
* CodeIgniter
* Drupal
* eZ Publish
* Fat-Free
* FuelPHP
* Horde
* Joomla!
* Laminas
* Laravel
* Li3 (eski Lithium)
* Midgard
* MODx
* Nette Framework
* Phalcon
* Pop PHP
* PHP-Fusion
* PRADO
* Qcodo
* Silex
* Slim
* SilverStripe
* Symfony
* TYPO3
* WordPress
* Xaraya
* XOOPS
* Yii
* Zend Framework
* Zeta Components

 |
| Test | 
* PHPUnit
* PHPSpec
* PHP Unit Testing Framework
* SimpleTest
* Behat
* Codeception
* Lime

 |
| ORM'ler | 
* Eloquent
* Doctrine
* Propel

 |
| IDE'ler | 
* Aptana
* Codelobster
* Eclipse PDT
* NetBeans
* PHPEdit
* PHPStorm
* RadPHP
* Zend Studio

 |
| Küçük alet araç seti | 
* PHP-GTK
* wxPHP

 |
| Kategori Kategori    Commons sayfası Commons |