NuSphere PhpED Review

I have been looking for a real PHP IDE (Integrated Development Environment). Recently, I ran across Nusphere’s PHPEd, Version 4.5.

Workspaces, Projects and Accounts

Coming from a PHP background, I am used to scripting from the beginning. And since PHP argues that it’s made for rapid development, in reality the code you produce is very rapid and unorganized as well. While of course rapid development and organization/quality are not mutually exclusive, reality is different. You can see an example of what I mean, when you try to run scripts written for PHP3 with the register_globals option turned off.

Over the years, I began to organize my projects differently. Primarily this was due to development for clients have to follow a certain standard, code-wise (make ’em scale), code documentation and organization in general.

Organization is a key feature where PHPEd flexes its muscles. You organize workspaces, ideal for the road warrior, and then projects.

Workspaces can be useful if you freelance and encounter different environments often. When I work at a client’s office, they often provide a local development environment which you can plug into. When you are at home or in your office, it might be a very different game. So instead of opening a text editor, ftp program, putty or whatever else you need for programming, PHPEd’s saves the day. All it requires is that you set it up in the beginning.

So whenever the workspace is ready, then you set up projects. Inside the project screen, you have the ability to add accounts to your systems (servers). And the accounts can be virtually anything. FTP, with or without SSL, secure shell, WebDAV – you name it. Together with the project setup, you can also add Subversion or CVS to integrate the source code and version control.

Smart-Sync

Another very useful feature of PHPEd – especially useful for collaborating with others – is the Smart-Sync option. When using the Smart-Sync option, Nusphere’s editor will try to determine if the file you are about to upload or download is newer than the version on the server. However, it does not sync in terms of how Subversion or CVS syncs or merges a file. It will just try to determine if you are up to date or not.

Even though this is an advantage of PHPEd, I found it sometimes increasingly difficult to work with this. While there is an override to upload files to the server, there is no option to override Smart-Download. I am not sure if my setup was flawed, but I believe since I am in the same timezone as my development server, it should download a file which I uploaded myself a day ago. Yet PHPEd prompted that my file was newer than the uploaded one and refused to override with the server copy.

Another incident happened when a co-worker and I both worked on the same file on the server. Smart-sync would not download it and the file was indeed “newer” than my version of the file. Yet it was refused the download.

The workaround for this issue is to delete the file in question and to sync the current folder. And then you are up to date – hopefully. Or you use the built-in Explorer to download the files in question.
For a future version, it would be nice to implement a “force-download” option in one of the next releases.

Debugging

PHPEd also comes packaged with a listener for DBG. Since I currently have no access to this on a server, I could not try the feature, but it can be worthwhile. Using breakpoints saves you a lot of echo’s and var_dump()’s to keep track of your variables inside the application. If you are familiar with programming from C++ or Java, this is a must-have.

Other notable features

Along with project management, debugging, syncing and so on, PHPEd has a comprehensive feature list. Most notable, are a very well-working database client, function references, soap wizards, form wizards, and a lot more.

For example, the Sourcecode highlighting of PHPEd is another mandatory feature in any editor today and works well. Support for highlighting comes for PHP (up to 5), Perl, HTML, CSS, SQL and Python.

A nice to have is that PHPEd saves your entire workspace when you close the application and reopen it. That includes files you had opened when you closed the application.

Day-to-Day Operations

Running PHPEd makes a lot of the work easier. Once you setup the workspace and project, you are ready to go.

The only glitches about running PHPEd that I noticed with the old 4.0 version were the auto-completion of variables, classes and function names. Once resolved, the information is indeed valuable, but with a larger project this can make your program hang. When I moved to 4.5, those issues were resolved for me.

Another thing is that whenever I close PHPEd, it almost sweeps the entire system into the abyss. I have no idea where this comes from, but I had to kill the process (especially the live debugger) very often.

Last but not least on my list of improvements is the Smart-Sync option. While I see that the option is valuable in a collaboration environment it also provides space for practical improvement.

The problem I had is that a lot of times, a colleague worked on files and even though we both knew that an updated version is on the server, PhpEd refused to “smart-sync” it. The workaround would be to download the folder in question using the build in file explorer, which is of course “OK” – but a hassle.

The bottom line

One of the bigger issues I found with this software is the pricing model. While I understand very well that selling software is a business, the pricing model of this IDE is tough to digest.

Post Your Comment

Your email address will not be published.