RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


EnginSite Editor: A Fully Loaded PHP IDE on the Cheap : Page 2

Suddenly, the marketplace for PHP IDEs is headed into second gear. We stumbled across a little-known offering from a small German software company and discovered a darn good IDE at an excellent price point.

Project Management with EnginSite
Another neat feature is the ability to handle projects in EnginSite, and in particular to turn existing directories of loosely arranged PHP, HTML, and other resources into a single coherent workspace using the Project Assistant. This wizard is available from the File->New dialog (see earlier) or from the Project Menu. To put it through its paces I downloaded source code from a DevX article. Generally a download is a bunch of HTML, PHP, and various graphics files, and this code is no exception. I unzipped this into a directory and pointed the Project Assistant at that directory. You can see the results in Figure 1 where the IDE loaded the project explorer with these files without any prompting. In addition, it goes through all your code and picks out all instances of includes, classes, interfaces, functions, variables, and constants.

Figure 4 shows this activity in the workspace 'Navigator' tab. You can now jump directly to the declaration of any of these assets by selecting them from within the Navigator. I highlighted the reference to the $ship_factor variable from my code and the IDE found the file that contained it, loaded it, and highlighted the line where it was declared (see Figure 4).

Figure 4. Using the Project Navigator: The Navigator function lets you see all your assets in a list. Select any one you like and the right pane jumps immediately to the file that contains it and highlights the line where it is declared.
There are too many project-related enhancements to list them all, but all the things you might want are included, such as publishing to FTP or WebDAV sites, integration with CVS, remote file browsing, etc. It's a pretty comprehensive package.

The holy grail of any server-side scripting language is the facility to debug. EnginSite comes through beautifully with a built-in PHP parser and web server that makes debugging a snap. You can set breakpoints (or even conditional breakpoints) on any expression and step your code through execution. It has a watch capability that allows you to monitor the contents of your variables, though it is missing the facility to take an action when a variable reaches a certain condition. Though, you can do the latter using a conditional breakpoint, so it's no great loss. Throw an event stack into the mix, so you can see where a particular script is being called from, a profiler of your code, and a monitor for global and environment variables and you are looking at a pretty complete debugging facility (see Figure 5).

Figure 5. Debugging with EnginSite: There's nothing lacking in the debugging facility.
Visual Studio developers, again, will be at home with the debugging, as the keystrokes that it uses, as well as the onscreen icons for currently executing line and breakpoints, are familiar. The message window at the bottom left shows you the current problem as well. This makes scripting with PHP a whole lot easier to develop, debug, and support.

EnginSite is a pretty good IDE; not great, perhaps, but it's an excellent value for the money, when you consider the price of products such as Zend Studio ($299) and Macromedia Dreamweaver ($399). It's the real deal, with project management, code generation through integrated snippets, integration with source control (CVS), extensibility, and full help files.

Indeed, the help contains a complete reference for PHP, HTML, and JavaScript, though it's a little rough around the edges mostly due to German-to-English language translation but it isn't bad enough to be problematic. One minor issue is that the in built reference documentation for PHP, HTML, and JavaScript are in alphabetical rather than process order, making the help browser pretty useless as a sequential read, but perfectly OK for searching a particular function. Minor niggles like this are likely to be addressed over time, but there are no show-stoppers.

EnginSite PHP is a very valuable tool for beginning PHP developers. Even for a more seasoned PHP user it has a lot of value, and if you're in the market for solid tool and cost is an issue, download the evaluation and give it a spin.

Laurence Moroney is a freelance enterprise architect who specializes in designing and implementing service-oriented applications and environments using .NET, J2EE, or (preferably) both. He has authored books on .NET and Web services security, and more than 30 professional articles. A former Wall Street architect, and security analyst, he also dabbles in journalism, reporting for professional sports. You can find his blog at http://www.philotic.com/blog.
Email AuthorEmail Author
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date