Urcite je tu vela ludi, ktori ovladaju PHP ale chceli by vyskusat spravit aj nejake klasicke aplikacie pre Windows (alebo aj Linux, MAC).
Ak sa nechcete zacat ucit C, Delphi alebo podobne, ale chcete zostat v tom, co velmi dobre poznate - PHP, tak tento navod bude pre vas.
Dopredu upozornujem, ze sa do toho vyznam prd, len ma to nadchlo, tak to chcem sirit dalej, kedze komunita je velmi slaba a tazko najdete niekoho, kto vam poradi.
Navod:
Je potrebne si stiahnut GTK z:
http://gtk.php.net/download.php
Pre Windows si stiahnite Windows Binary Pack aj Extensions Pack (spolu maju asi 10MB)
Rozbalte Binary Pack a do neho rozbalte aj Extensions Pack. Ten extensions pack vam asi prepise zopar suborov..
Otvorte si subor "php-cli.ini" a najdite riadok:
Kód:
;php-gtk.extensions = php_gtk_libglade2.dll,php_gtk_sourceview2.dll
Tu bodkociarku zo zaciatku riadka zmazte - to je vlastne komentar, takze treba to odkomentovat. Tymto sa pusta podpora libglade.
To je asi tak vsetko co potrebujete
Takze v tom istom priecinku (aby sme si to zatial nekomplikovali) si vytvorime nejaky PHP subor. Ja som vytvoril "test.php".
Do suboru mozeme napisat napriklad testovaci hello world priklad z
originalneho tutorialu.
Kód:
<?php
if (!class_exists('gtk')) {
die("Please load the php-gtk2 module in your php.ini\r\n");
}
$wnd = new GtkWindow();
$wnd->set_title('Hello world');
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));
$lblHello = new GtkLabel("Just wanted to say\r\n'Hello world!'");
$wnd->add($lblHello);
$wnd->show_all();
Gtk::main();
?>
Zapneme si Prikazovy riadok a prejdeme do priecinka, kde mate rozbalene PHP GTK subory. (Prikazmi: cd "c:\php-gtk\" napriklad)
Potom spustime prikaz:
Kód:
php.exe test.php
Mali by ste vidiet toto:
Ak to vidite, mate vsetko funkcne !
Ako rychlo vyvyjat aplikacie a zbytocne sa nezdrziavat?Vzhlad aplikacie si mozete pracne pisat, uz v spominanom tutorialy najdete dobre navody, ale predsalen, ak chcem oddelit kod od vzhladu a chcem pracovat efektivnejsie, odporucam pouzit GLADE !
Chodte na stranku:
http://glade.gnome.org/A vpravo si stiahnite Glade pre Vas OS. Ak mate Windows, tak: Windows Binaries.
Nainstalujte.
Ak si dobre pamatam, pri instalacii sa spyta, ci chcete nainstalovat aj GTK+ - ten som neinstaloval a ide mi to, takze nie je potrebny.
Zapnite Glade. Hned sa vas spyta na zakladne nastavenia, tam si to prepnite na "libglade" a verziu nastavte na 2.10.
Hlavny zaklad aplikacie vyberate vlavo zo sekcie TOP LEVELS. Vyberte: Window. Vpravo v paneli v zalozke General si jeho meno/name zmente na "okno".
Potom kliknite na Button a potom na plochu. Tym pridate jedno velke tlacidlo a ulozte si tento subor ako napriklad "interface.glade" tam, kde mate aj php subor.
(tutorial na Glade je tu:
http://live.gnome.org/Glade/Tutorials )
Otvorte si znova nas testovaci "test.php" subor.
Tu sa viete docitat o tom, ako pouzit glade:
http://gtk.php.net/manual/en/tutorials.helloglade.phpOsobne sa toho az tak moc nedrzim, je to trosku kostrbate a neskor som s tym mal trouble.
Preto je podla mna najrozumnejsie takto si pripravit subor:
Kód:
class Jadro extends GladeXML {
function zavriOkno()
{
Gtk::main_quit();
}
}
$Jadro = new Jadro(dirname(__FILE__) . '/interface.glade');
$Jadro->signal_autoconnect_instance($Jadro);
$wnd = $Jadro->get_widget('okno');
$wnd->show_all();
Gtk::main();
Toto vam docieli to, ze by sa automaticky mal Glade subor pripojit k Vasej aplikacii a vzhlad z neho nacitat.
"signal_autoconnect_instance()" vam zabezpeci priradenie vsetkych signalov (akcii) z Glade suboru k vasim funkciam..
To znamena, ze v Glade ako mate pridane tlacidlo, oznate si ho.
Vpravo klik na zalozku Signals. A do riadka "Clicked" zapiste: "zavriOkno".
Ako ste si vsimli, v nasej triede je funkcia "zavriOkno" a vdaka "signal_auto_connect" nam ju priradi k tlacidlu v Glade.
Vsetko ulozte a ako som uz vyssie spominal, spuste vas program cez prikazovy riadok (php.exe test.php).
Mali by ste vidiet:
A po kliknuti na tlacidlo by sa malo okno zavriet..
To je vsetko Ako si sprijemnit zivot?Urcite nechcete pliest vase projekty do priecinka s GTK a ten prikazovy riadok tiez nie je dvakrat prakticky.
Preto si spravte vlastny adresar s projektami a pri vas subor .php si vytvorte aj .bat subor, nazveme ho: "spustima.bat".
Do neho napiste:
Kód:
C:\php-gtk2\php.exe d:\Projects\php-desktop\nieco\home.php
pause
Toto je priklad. Prve je cesta k "php.exe" suboru z GTK balika. Potom nasleduje cesta k vasemu .PHP suboru.
Ked si otvorite tento bat subor, spusti sa vam vasa aplikacia.
Prikaz "pause" na konci docieli, ze pokial vam aplikacia vyhodi chybu, tak sa konzola hned nevypne, ale zostane zapnuta a vy si chybu v nej viete precitat
Toto je vsetko sice pekne, ale ako moj program poslem kamaratovi ?Samozrejme, ze vysvetlovat niekomu, ako ma co rozbalit, GTK kniznice, a prikazove riadky. No proste uplne user-friendly aplikacia by to bola
Ako vytvorit EXE subor ?
Stiahneme si program PriadoBlender:
http://www.kksou.com/php-gtk2/Reference ... lender.phpKonkretne: PriadoBlender-2.0 BETA.zip
.. a rozbalime.
Vytvorime si textovy subor, ale bez koncovky, nazveme ho: "priado-nastavenie".
Do neho dame:
Kód:
Input_file=C:\Users\Brano\Desktop\PHP-GTK\test.php
Output_directory=C:\Users\Brano\Desktop\EXE-subor
Name=testik
Version=1
Type=1
Includes=1
Asi kazdy chape, o co sa jedna. Input file je presna cesta k nasemu php suboru.
Output directory je adresar, kde chcem nas program nakoniec mat. Name je meno, atd atd.. Includes povoluje includovanie suborov.
Otvorime si PriadoBlender.exe a zvolime: File-Open project.
Tam si najdeme nas "priado-nastevenie" subor.
A klikneme na: COMPILE.
Zvoleny priecinok sa naplni nasim programom, ktory mozete veselo sirit
Dufam, ze sa najde par nadsencov, ktori zacnu robit pokusy. Rad by som sa obcas s niekym poradil, lebo som v tom absolutny zaciatocnik, preto aj tento navod je napisany asi dost neprofesionalne
Ked mate nieco, opravte ma..