PHP-GTK

Školení, která pořádám

Jak asi víte, v PHP se kromě webových aplikací a skriptů pro příkazovou řádku dají pomocí PHP-GTK vytvářet i desktopové aplikace. Většina článků, které jsem viděl, se omezuje na návod k instalaci, příklad Hello World, v lepším případě potom na jednoduché rozhraní k databázi. V češtině vyšel seriál, který je sice už 4 roky starý, ale pro účely prvotního seznámení slouží myslím stále dobře. Mnohem čerstvější je dvojčlánek na Linuxsoftu, stejně jako většina ostatních ale spadá do kategorie „koukejte, funguje to“.

Mě zajímalo, jestli se PHP-GTK opravdu dá k něčemu použít. Verze 1.0.1 by měla poskytovat jistou záruku stability, byť pracuje s PHP 4 (nevhodným kvůli objektovému modelu) a starým GTK 1. Odhadem pár měsíců zbývá do uvedení PHP-GTK 2, na které se podle Andreiovy prezentace určitě vyplatí počkat – bude běžet pod PHP 5.1 a GTK 2 a v případě potřeby bude zpětně nekompatibilní.

V PHP-GTK se zjevně dají vytvořit poměrně rozsáhlé aplikace, mě zaujal například editor Tulip. Potěšující je, že díky widgetu GtkScintilla může být součástí aplikace i má oblíbená editační komponenta.

Podle mého názoru by se PHP-GTK dobře dalo využít v systémech pro zpracování objednávek. V běžném administrační rozhraní, do kterého se správce přihlašuje jednou za čas, něco tam jednorázově změní a zase odchází, se výhody PHP-GTK moc neprojeví, ale u systémů, které jsou používané takřka nepřetržitě, by výhody patrné být mohly:

Pokud si chcete PHP-GTK vyzkoušet, rozhodně vaší pozornosti doporučuji interface GladeXML, který vám podobně jako šablony umožňuje oddělit vlastní kód od vykreslování oken. Okno lze pomocí Glade nakreslit a vyexportovat do XML (nebo lze toto XML vytvořit ručně) a následně ho načíst do aplikace. U desktopových aplikací je toto oddělení myslím ještě důležitější než na webu, protože nudného kódu pro vykreslení oken bývá hodně.

Já osobně si počkám na PHP-GTK 2.

Jakub Vrána, Seznámení s oblastí, 22.6.2005, diskuse: 10 (nové: 0)

Diskuse

Ivan:

Co mě vede používat php na serveru? Podpora hostingů. Co mě ale vede používat zrovna php na klientovi?

ikona Jakub Vrána OpenID:

Mě osobně k tomu vede to, že neexistuje jazyk, ve kterém bych se vyznal líp a ve kterém by se mi pracovalo pohodlněji.

Michal Molhanec:

jo, jo, shouhlas, kdyby mi pipni nabizelo python nebo ruby tak po php ani nevzdechnu :-) nicmene pokud clovek uz neco v php ma, tak muze byt velka vyhoda schopnost sdilet kod mezi www aplikaci a gui klientem, to muze dost velka vyhoda (akorat ta aplikace musi byt dobre navrzena, aby bylo co sdilet, coz vetsina php aplikaci nejspis nesplnuje, protoze to jsou bastly :-) ).

Pidas:

Zdravim nevite jestli jde php-gtk pod PHP 5.0.3?
Jsem to ted objevil a docela se mi to libi na hrani nainstaloval jsem to podle navodu a testoval nize uvedeny skript, ale hazi to pri spusteni chybu:
FATAL ERROR: Class 'GtkWindow' not found in a ten sposteny skript

diky za radu


<?php

if (!class_exists('gtk')){
strtoupper(substr(PHP_OS,0,3) == 'WIN')?dl('php_gtk.dll'):dl('php_gtk.so');
}

// při zavření okna
function destroy()
{
Gtk::main_quit();
}

// při kliknutí na tlačítko
function hello()
{
global
$window;
$window->destroy();
}

// Nadefinujeme si okno
$window = &new GtkWindow();
$window->set_border_width(10);
$window->connect('destroy', 'destroy');

// a čudlíček...
$button = &new GtkButton('Hello World!');
$button->connect('clicked', 'hello');

//který do okna přidáme
$window->add($button);

// zobrazíme to ...
$window->show_all();

// a jedeme
Gtk::main();

?>

ikona Jakub Vrána OpenID:

PHP-GTK 1 potřebuje PHP 4.

Juraj:

Odporucam ti serial na builder.cz http://www.builder.cz/serial55.html

ikona Jakub Vrána OpenID:

Vždyť je na to odkaz přímo v článku...

pif:

vypada to zajimave, az se budu nudit prozkoumam ;))

Techi:

No linky na instalaci tulip = 404
Bylo by fajn, kdyby existovalo prave vyvojovy prostredi napsany samo s sobe na styl netbeans

Prdlořeznictví Krkovička, n. p.:

Tak PHP-GTK 2 existuje od února 2008, verze 2.0.1 pak od 16.5.2008. Podle mě ten projekt balancuje ve stavu mezi životem a klinickou smrtí...

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2018 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.