Key Takeaways
- NuSphere PhpED stands out for its speed, simplicity, and overview capabilities, making it a top choice for managing complex projects.
- Key features of PhpED include a project wizard for easy setup, instant autocomplete for code suggestions, a powerful debugger for efficient troubleshooting, and a code navigator for a clear overview of file structures.
- PhpED also supports PHP frameworks, offering awareness of the relations between controllers and views, and the ability to do URL mapping.
- Despite a few areas for improvement, such as the color picker and lack of certain features found in other IDEs, PhpED consistently introduces new features and takes user feedback seriously, making it a reliable choice for PHP development.
In the last survey on the best PHP IDE for 2014, my longtime favorite PhpED was missing. I didn’t act on it then, but what better way to spread the love than to devote an article to it.
I’ve spent the first part of my programming career without a real IDE. UltraEdit was meeting most of my needs. At a certain point you start to realize you’re missing out on something and the quest for a real IDE begins.
For quite some time I was relatively happy with NetBeans; after some time though, I did find myself fighting it on too many occasions. I again concluded that it was time to move on. Having a historical hate for Eclipse (we had a serious misunderstanding back at version 3 dot something from which I still haven’t recovered) meant I had to test the commercial IDEs.
Why I chose PhpED
Speed, overview and simplicity. That sums it up, really. There are a few things that mattered for me, speed-wise; switching projects, getting code suggestions and fast debugging. Overview is something that I want because my projects get quite complex at times. An IDE like Eclipse overwhelms me with way too many options and buttons which I hardly ever use, keep it simple please. I believe I found my requirements and more in PhpED…
1. Project wizard
The project wizard will help you set up your project like you want it; simple local project, local server or remote server. Run on web server and/or CLI. Set up the directories, code page, PHP/HTML/CSS versions and finally checking to see if the debugger is working. It’ll be quite specific on how to fix issues or offer to fix them should there be any.
2. Autocomplete
All the normal things are present when it comes to editing code: dynamic syntax highlighting for multiple languages, variable highlighting, fast searching and more. The code suggestion is instant; the IDE presents the possibilities that match the start that you typed. When you find what you wanted and your code is documented using PHPDoc, then it’ll show that while you’re entering your variables.
In the example above, you can perhaps spot something that can be improved; it fails to show multiline comments of the documentation. This is good to get a simple overview of the function call, but quite often you document something for a reason and you want to see it all.
3. Debugging
PhpED comes with the DBG extension for debugging. The debugger installs as a PHP module. The project wizard will automatically install the module for you if you’re running a local server. For a remote server, you’ll have to do it yourself. Again, the wizard is very helpful here on how to do this, suggesting the correct paths and file content for your server. PhpED will automatically listen for incoming debug connections and helps you get the connection through firewalls and routers, should that be necessary.
The debugger has all the features we can expect; single stepping, running to or from cursor position. Breakpoints can have additional conditions which are evaluated every time they are touched. The debugger can be started from the IDE with a ‘Run in debugger’ but can also be triggered to start at any time by just adding the DBGSESSID parameter to the request. This parameter is also saved as a session cookie so that every consequent request can be debugged automatically.
The debugger has sped up my development workflow on many occasions. The insight into the local and global variables is superb. The entire call stack is traced and all variables at every call in the stack are available.
The debugger is also capable of profiling memory, SQL and execution. The memory profiling was added recently. It gives you an insight to your code and exactly how much memory it’s using where, an insight which might surprise you.
The line profiler will show you where that time waiting for a page all went. It’ll be grouped and aggregated by module or function to find the critical points of your code.
Your SQL code is of course all traceable. From connection time to setup commands and queries, every part of the SQL interaction is logged in detail.
The example here was done using PDO, note how the query parameters aren’t logged. If you’ve ever tried to optimize SQL queries you’ll know that you want the exact query to be able to run an EXPLAIN properly. Some room for improvement, I’d say.
4. Overview
PhpED features a function called code navigator which shows the structure of the file you’re editing at any given moment. There is a quick search at the top of it allowing you to jump to specific parts within the file. The view adapts to the current file and is also capable of filtering out the different parts, should it contain more than one language. The bottom PHP/HTML/CSS and JS tabs allow you to switch between the individual sections.
The recent addition for SCSS support was welcome as well. Kitty Giraudel has written quite a bit about it here on SitePoint and I think most of us see the benefits. I like SCSS most for its structured approach. I was promised that support for LESS language additions is coming soon as well; the sooner the better.
And there’s more…
The list of features is long. I’m sure I’m not using them all. A few versions ago PhpED also started supporting PHP frameworks. This worked out very well because it is now aware of the relations between controllers and views. At the bottom of your editing window it’ll show tabs for the (partial) views you’re using in the current file or for the controller related to your view.
With framework support also came the possibility to do URL mapping; quite often you can’t run or debug the file you’re editing. The framework you’re using has its own URL manager that maps a controller to a URL for instance. You can tell PhpED how to map the files in your structure to a URL which it can run. It’ll then open the correct URL if you press Run. If you’re using a controller with multiple actions it’ll even show a pop-up asking which action you want to start.
Is it perfect?
Will any IDE ever be? As a developer you’re constantly evolving; discovering new possibilities and you hope your IDE can keep up with you. This IDE, on the other hand, has surprised me with new features at times. I do make it a habit to check out other IDEs every now and then to make sure I don’t miss out on something. So far I haven’t see any major things that made me seriously consider switching.
For me, there’s one real annoyance; the color picker. It’s like a time machine back to Windows 95. Not sensitive to the code at hand, doesn’t do RGB() codes or HSL(), not capable of opacity, not user friendly, don’t even bother trying it.
There are some other nice-to-haves that I’ve seen in other IDEs, but those don’t tip the balance yet. Among the features that might be nice additions are Composer integration, a spelling checker and perhaps plugins.
I made some suggestions to the PhpED team some time ago and got quick feedback on it. I was also invited to become a beta tester for PhpED, and the suggested features made it into the product – that at least gives the impression you’re taken seriously when you suggest something.
Conclusion
I only showed some of the features of PhpED here. This selection, though, is what makes PhpED a winner to me. This IDE has definitely helped me become a more agile developer, but like always, everything is relative; I’m sure you have the same feelings about your IDE.
Are you using PhpED? Or do you use another IDE that does an even better job? Tell us about your experiences.
Frequently Asked Questions about NuSphere PhpED
What makes NuSphere PhpED stand out from other PHP IDEs?
NuSphere PhpED is a robust, feature-rich PHP IDE that offers several unique features that set it apart from its competitors. One of the key features is its advanced code editor, which supports numerous languages and offers code folding, syntax highlighting, and dynamic syntax checking. It also includes a powerful debugger that allows for local and remote debugging, profiling, and code coverage. Additionally, NuSphere PhpED supports seamless integration with popular databases and version control systems, making it a comprehensive solution for PHP development.
Is NuSphere PhpED suitable for beginners?
Yes, NuSphere PhpED is suitable for both beginners and experienced developers. It offers a user-friendly interface and a range of features that can help beginners learn and understand PHP coding. The IDE provides code insight, code completion, and dynamic syntax checking, which can help beginners write error-free code. Additionally, the integrated debugger can help beginners understand the flow of their code and identify any issues.
How does NuSphere PhpED support database integration?
NuSphere PhpED provides seamless integration with popular databases like MySQL, Oracle, and PostgreSQL. It includes a built-in database client that allows developers to connect to their databases, execute SQL queries, and manage their data directly from the IDE. This eliminates the need for a separate database client and streamlines the development process.
Can I debug my code with NuSphere PhpED?
Yes, NuSphere PhpED includes a powerful debugger that supports both local and remote debugging. The debugger allows you to step through your code, set breakpoints, and inspect variables, making it easier to identify and fix issues. It also supports profiling, which can help you optimize your code and improve its performance.
Does NuSphere PhpED support version control systems?
Yes, NuSphere PhpED supports integration with popular version control systems like Git, SVN, and Mercurial. This allows developers to manage their code versions, track changes, and collaborate with others directly from the IDE.
Is NuSphere PhpED compatible with my operating system?
NuSphere PhpED is compatible with Windows, Linux, and MacOS. This cross-platform compatibility ensures that developers can use the IDE regardless of their operating system.
Can I customize NuSphere PhpED to suit my needs?
Yes, NuSphere PhpED offers a high level of customization. You can customize the IDE’s appearance, behavior, and functionality to suit your preferences and workflow. This includes customizing the code editor, setting up your preferred keyboard shortcuts, and configuring the IDE’s integration with databases and version control systems.
Does NuSphere PhpED offer any form of customer support?
Yes, NuSphere offers comprehensive customer support for PhpED. This includes a detailed online documentation, a community forum where you can ask questions and share knowledge with other users, and direct support from the NuSphere team.
How does NuSphere PhpED handle large projects?
NuSphere PhpED is designed to handle large projects efficiently. It includes features like project management, code navigation, and code folding that can help you manage and navigate your codebase effectively. Additionally, the IDE’s performance is optimized to ensure smooth operation even with large codebases.
Is there a trial version of NuSphere PhpED available?
Yes, NuSphere offers a 14-day free trial of PhpED. This allows you to test the IDE’s features and functionality before making a purchase. The trial version includes all the features of the full version, so you can get a comprehensive understanding of what the IDE has to offer.
Arno Slatius is a web developer from the Netherlands. He has a background in electronics and embedded systems and started web development over a decade ago, He works with Yii professionally and loves digging into new things. Arno loves clean, commented and simple code. When he's not coding, he spends most of his time with his family or flying his model helies, planes and quads.