What’s new in Eclipse PHP Development Tools (PDT) 5.3

The Eclipse PHP Development Tools 5.0 or PDT 5.0 release was a big success, but we aren’t done yet and are still working on our product. The team released two minor versions and with Oxygen.3 will deliver the third. Each one contains new features and improvements as part of over 100 resolved issues on Bugzilla!

5.1 – Synchronized Project

Eclipse for PHP Developers package currently contains RSE plugins. They allow work on remote FTP or SSH in a similar way as on local disk in Eclipse. Unfortunately, it introduces problems:

  1. Developers don’t have their work on a disk
  2. Project indexer cannot work without performance degradation
  3. IDE is a hostage of network performance
  4. And again performance…

This problem can be resolved with Synchronized Projects. This new module using popular Eclipse PTP framework to extend standard local PHP project with synchronization capabilities. At the start, developers are able to download project files from a remote server using project creation wizards. Later, the plugin monitor file changes and allows for files to be sent directly to the server after being saved in the editor or on demand, it depends on the user’s preferences. Read more about PTP synchronized projects here.

5.2 – Composer autoload-dev and enhanced editor

Most of 5.2 changes were introduced “under the hood”. We improved:

  • performance,
  • code assist precision
  • code navigation in the editor (for example “goto” label navigation).

PDT adopters receive new APIs to modify PHP validation results. For example, the popular Doctrine plugin marks correct usage of imported Annotations:

Before

After with external plugin

Another interesting change is support for composer.json autoload-dev. Users can modify this important section via the easy to use graphical editor in the same way they would for the standard autoload. Based on this, PDT is able to build correct build path.

PDT 5.3 – Upcoming Oxygen.3 release

Will be soon available and introduces many new features.

PHP 7.2

We now officially support the most recent stable PHP release! From IDE point of view we introduced support for two main syntax changes:

  1. Object type hint
  2. List reference assignment

PHPUnit

PHPUnit support was introduced in 5.0, but this release deliver a lot of great changes.

1. After tests launch, developers might be surprised by the changes in main PHPUnit view. It contains consistent and colored labels for all tests and its parents. The view has been enriched, similar to JDT JUnit view, by execution time.

It’s also now possible to run concrete tests from any level of the tree or re-run all failed tests with a simple mouse click!

2. Another enhancement is the new Object Diff view. It introduces usable diff presentation for failed assertEquals calls.

3. On top of that, we added support for PHPUnit 7 and introduce native PHPUnit output in the Eclipse workspace console view.

I’d like to give special thanks to Michele Locati who patiently reported and tested changes for this module.

PHP Code Formatter improvements

Another important feature in this release is support for custom PHPDoc-like tags. In previous versions, tags were interpreted as standard comments. Due to this, the formatter would sometimes break them. In the latest release, the formatter leaves the tags untouched! This means that Doctrine and PHPUnit annotations are safe. :)

And more…

As mentioned before, these are only some of the improvements introduced in the past three releases. More details are available on our New & Noteworthy pages for 5.1, 5.2, 5.3 and corresponding issues list on PMI.

How to get it

Like most eclipse projects we support many ways to install. For example, developers who haven’t used Eclipse PHP yet can download all-in-one Eclipse for PHP Developers package from the Eclipse download page, directly from PDT webpage, or even using Eclipse Installer.

For those who prefer to extend existing Eclipse installation we strongly recommend Eclipse Marketplace, but of course, a standalone p2 repository is also available.

Contact us

We are a community driven project and greatly appreciate any help you’d like to offer. Please report bug or feature request on Bugzilla or ask on our developer mailing list. We will answer with pleasure!

Happy PHPing!

About the Author

Dawid Pakuła

Dawid Pakuła
w3des.net