EnginSite Editor: A Fully Loaded PHP IDE on the Cheap

ntil recently I did most of my PHP development using DreamWeaver or Notepad. I wasn’t happy with most IDEs for developing PHP applications. In my opinion, the best IDEs for software development were, and still are, Microsoft Visual Studio.NET and BEA Weblogic Workshop. In the PHP world, there just wasn’t anything that was in the same league?not until the arrival of the Zend Studio, which I reviewed for DevX in January.

Now a new, low-cost alternative has entered the scene: EnginSite Editor for PHP, from German software company Luckasoft (http://luckasoft.com/). For $79.95, Luckasoft offers a full-fledged IDE and debugger for PHP with many of the bells and whistles that you’d expect from an enterprise-class development tool.

Admittedly, I was first skeptical that a company that ‘specializes in software for the packaging industry’ would be able to create a decent general purpose IDE, but after downloading and trying out the product I was very pleasantly surprised. It’s a slick and high-performing IDE that is fully loaded with just about everything that you would expect from a modern software development environment. It has a wonderful template library, intellisense, and integrated help with useful references for HTML, JavaScript, and CSS.

Installation and Getting Started
EnginSite Editor is a Windows application; there currently is no Linux incarnation. (You can download a 30-day free trial of the package at http://www.enginsite.com/Download.htm.) Installing is a snap. Run the .EXE that you downloaded, sit back for a couple of minutes, and you’re done. Launching the IDE is fast too: It took about 5 seconds on a 1.5Ghz machine with 1.5GB of RAM. (Compare this with about 25 seconds to launch Visual Studio.NET on the same machine.) This is an important feature in my opinion; developers do a lot of launching, closing, testing, and relaunching in any daily development cycle?a speedy launch is key to productivity.

Figure 1. IDE Layout: Despite the low price, EngineSite is just what you’d expect from an IDE. The basic GUI has all the standard features in all the standard places.

Figure 1 shows the basic GUI, once launched. There’s nothing new or surprising here: a categorized toolbar of HTML page elements and a toolbar for controlling the IDE and your code are at the top of the screen, an explorer view of your current project is on the left, and code editing is on the right. At the bottom of the screen are variable and debugging inspectors. If you’ve ever used Visual Studio.NET, it will all be very familiar.

One thing that is missing, but forgivable given the low price tag, is an integrated data environment. What would be really nice is a tool where you can connect to a MySQL database and edit and browse your data and auto-generate code for connecting to that database. But at this price point, that can be overlooked. (I personally prefer to use the MySQLCC tool for this.) EnginSite IDE offers the facility to add tools to the IDE, extending it by specifying the EXE of the tool, but a bug in the current version prevents you from using this facility?when you add a tool using the extensions dialog, it doesn’t show up on the tools menu. As of version 3.1.2.170, the most recent build, this bug is still outstanding, but Luckasoft is aware of the problem.

Coding with EnginSite
Where EnginSite really shines is in the support and assistance that it gives you while coding. Click File->New and you get a plethora of templates from which you can create new PHP or HTML pages. Figure 2 shows the wizard for selecting templates.


Figure 2. New File Dialog: File->New gives you a selection of templates you can use to get started. Click on each one to see its code in the left panel.
 
Figure 3. Auto-complete: Suggestions for completing my database object pop up in a helpful cursor dialog.

A nice touch is that you can use the template to create a new page or to insert the selected snippet in your existing page. This would be an incredibly useful feature for anyone new to PHP, as it would serve as a learning tool for common tasks such as connecting to a database, reading from a database, or form management. Even for a hardened PHP coder it is a great time saver, and it uses well-known proven methodologies and patterns for common tasks. For example, one template is for an e-mail validator that generates the code:

This was something that I personally spent several hours figuring out how to do when I was first getting into PHP, and I don’t think I did it as well as this. For this feature alone the $79.95 purchase price would have been justified.

Once you’ve created your new PHP script and you’re ready to start coding with it, the next batch of happy surprises begins: syntax highlighting and autocomplete. Figure 3 shows autocomplete in action, where I am using a new object of type ‘database,’ which is based on a class that wraps the MySQL database. When I try to access the object from EnginSite, the useful autocomplete dialog pops up inline with a friendly tip on what’s available.

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.

Debugging
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.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a