This article is also available as a TechRepublic download.

PHP developers familiar with windowing applications in *NIX
will already be aware of PHP-GTK, an add-on PHP
that allows you to access GIMP Tool Kit (GTK) libraries and
functions using an object-oriented interface. But if the thought of building
combo boxes and scrolling tickers from scratch doesn’t appeal to you, take
heart in the fact that PEAR,
the PHP Extension and Application Repository, comes with a number of pre-built
widgets that can significantly simplify your GTK development. You can’t beat
the price either…they’re free!

This document lists ten PEAR packages of specific interest
to developers working in the PHP-GTK realm (Table A). Take a look, and try them out
— you might find something that solves a problem you’re currently facing!

Note: You can
install PEAR packages directly from the Web site, by following the instructions

Table A

Package Name



This widget lets you create a simple alert box, with the
additional facility to accept and process user input.

Use this
package to add alerts and user input fields to your GTK application.


This package provides a framework for adding file-drop
functionality to GTK widgets. It provides the functions necessary to track
file drop events, manage file types and process the file.

Use this
package to add file drop functionality to your GTK applications.


This widget makes it possible to create an option list
(similar to an HTML form select box) that supports both static values and
key-value association.

Use this
package to quickly create indexed selection lists for GTK applications that
require user input.


This widget makes it possible to easily create scrolling
tickertape, either as a visual element of the interface or as a label for an
input field. It includes functions to change the direction of scroll, stop or
restart movement, and alter the content of the text.

Use this
package to quickly and easily create scrolling tickertapes in your GTK


This widget provides a visual database schema designer,
which allows you to graphically build tables, fields and relationships. It
also allows the schema to be saved as XML and can generate the SQL commands
needed to translate the schema to reality.

Use this
package to visually lay out or re-link your database
schema and relationships.


This widget lets you build a graphical interface to
configure different sections of the PHP configuration file php.ini. It includes functions to retrieve
current settings, show progress bars and produce pre-defined option selection

Use this
package when you need a graphical tool to allow users to manipulate PHP
configuration settings.


This widget provides a graphical tool to examine PHP data
structures. It uses a visual tree metaphor to allow developers to drill down
and view sub-variables and sub-objects in a class.

Use this
package to create a graphical tool to investigate variable contents, usually
when debugging.


This widget provides a visual interface to the PEAR
installation system, allowing you to browse package documentation, install
packages and set package configuration variables.

Use this
package to build a graphical front-end for PEAR installation and


This widget allows developers to add auto-update features
to their PEAR package. It includes functions to communicate with the master
PEAR server, select update frequency and perform the update.

Use this
package to build a graphical front-end for PEAR package update.


A useful add-on to the PEAR_Frontend_GTK class, this
widget allows developers to build a visual tree interface to PEAR package
dependencies, set package file information and add/configure install-time

Use this
package to build a graphical tree-based administration tool for PEAR