Small, awkward and looking for love: Delphi for PHP 2.0

Dreams of past Windows glory

Common Topics

Although there are a generous range of controls on offer, making full use of them is a challenge thanks to the sketchy documentation. This has improved since version 1.0, but remains inadequate. The sample applications are rudimentary. The quality of the VCL for PHP is uneven. That's partly due to the inclusion of components from various sources (another example is the Qooxdoo Ajax framework used for the DBGrid), and partly because even in version 2.0 the product still seems rushed, with TODO comments scattered liberally through the library.

A snag with the first Delphi for PHP was the difficulty in mixing HTML and PHP code in a form, thanks to the way the VCL works. Each component is a class that dumps its contents to output at runtime. The layout of controls on a page is stored in a separate XML resource file, which is loaded as part of the initialization sequence.

Delphi for PHP 2.0 includes a new unit called a templated form, which does let you add HTML code directly. Even so, an application written in Delphi for PHP is heavily hooked into the VCL for PHP, and code will not be easy to migrate to any other framework.

Concerns over the quality of the VCL for PHP, and whether it has a long-term future, might deter those considering major projects using this product. Perhaps it is more suitable for applications that are small, quick and simple, a role it could fill nicely if only the documentation and tutorials were improved.

Debugging with Nusphere debug listener

Finally, it is a shame that the IDE is Windows-only; it would make sense for CodeGear to do what it has done with JBuilder and move Delphi for PHP to Eclipse. Maybe this will come in time with Embarcadero, given CodeGear was rather stretched for resources as the unwanted subsidiary of Borland.

This has the feel of a product with good potential, but under-resourced by its developers. There are better PHP libraries out there, such as Zend Technologies' Framework, which leaves CodeGear's product occupying a small and awkward niche.®