Forum und email

Константи в GTK

GTK+ използва многобройни константи. В PHP-GTK 1 те се дефинираха като глобални и можеха да бъдат използвани чрез

echo GTK_WIN_POS_CENTER;
Ако обаче използвате този код в PHP-GTK 2 ще получите следната грешка:

PHP Notice:  Use of undefined constant GTK_WIN_POS_CENTER -
assumed 'GTK_WIN_POS_CENTER' in /path/to/file.php on line 23

Проблемът, е че първоначалната стойност използвана от (GTK_WIN_POS_CENTER връща стойност 1 в PHP-GTK 1). PHP-GTK 2 вижда само текста "GTK_WIN_POS_CENTER"и това ще доведе до грешка във вашият код.

Статичните клас константи се поддържат в PHP 5 и така се изчиства кодът. Дефинирането им става в класове на Gtk, Gdk и други.

Накратко казано, единстевеното нещо което трябва да направите (в повечето случаи) е да замените долното подчертаване с двуеточие, така че: GTK_WIN_POS_CENTER при PHP-GTK 1 да стане Gtk::WIN_POS_CENTER при PHP-GTK 2.

Забележете също и новият стил на писане на код. Главни букви трябва да си използват само за първите букви в Gtk, Gdk, Pango и Atk константите при официалната дистрибуция на документацията и кода на PHP-GTK 2 с което се променя техният статус на константи на класа, а не като глобални такива.