New PHP for Eclipse
- By John K. Waters
The folks at the Eclipse Foundation keep telling us that Eclipse is not just about Java anymore, and they recently added to that argument with the much anticipated released of its PHP Development Tools (PDT), version 2.0
This version is a major upgrade of this open source development tool. The emphasis in this release, said Roy Ganor, PDT project lead and team leader in Zend Technologies' developer group, is on providing PHP coders with a more professional development environment.
"Generally speaking, PHP developers have low standards when it comes to tooling -- especially in their ability to work with development teams," Ganor said. "Two or three years ago, most of the PHP developers worked with very basic tools, such as simple editors. But we -- Zend and IBM, which started the PDT three years ago -- predicted that they would soon demand a full-featured development environment. This release fulfills this demand."
PHP (PHP Hypertext Preprocessor) is one of the most popular open-source, server-side scripting languages. It's one of the "Ps" in the open source LAMP stack (Linux, Apache, MySQL, and PHP/Python/Perl). It can be embedded in HTML, and is especially well-suited for Web development. Zend, the Cupertino, California-based provider of products and services for PHP, has been leading the Eclipse PDT project. According to Ganor, the PDT has seen more than a million downloads to date.
The 2.0 release adds, among other things, support for the object-oriented programming features of PHP. The tool set now comes with a type-hierarchy view designed to navigate object-oriented PHP code faster and more easily. There's also a new type-and-method navigation capability that allows for easy searching of PHP code based on type information. Also in this version, new override indicators visually tag PHP methods that have been overridden.
This version also provides some serious usability improvements, primarily via a new indexing and caching engine that adopts the Eclipse Dynamic Language Toolkit (DLT). The DLT supports a new Mark Occurrences indicator and a more sophisticated Code Assist feature designed to be "smarter" about providing code completion options based on PHP variable types.
"This is a perfect example of how we are able to leverage the strength of the Eclipse infrastructure for the PHP space," Ganor explained. "As a dynamically typed language, PHP is different from Java and C, which are static type inference languages. Things like code completion are much harder to provide for dynamic languages. The DLT is an infrastructure that allows us to provide a better type inference tool for PHP."
Eclipse PDT 2.0 also aims to support the growing numbers of PHP developers who find themselves in team situations, Ganor added. "We are now seeing larger and medium-sized companies using PHP," he said. "This release addresses some of their unique needs, especially those PHP developers who work are now working in teams, such as those practicing agile development."
John K. Waters is a freelance writer based in Silicon Valley. He can be reached