For the last 3 months, all of my Web development has been done in NetBeans 6.5. I got hooked on it ever since the beta version brought PHP support to it. NetBeans has several great advantages and even greater features to shadow out most of the commercial, freeware, or open source IDE solutions.
One of the best things about NetBeans is a excellent support for HTML code and added support for jQuery, Prototype, and general JavaScript. However, one thing I simply hate about NetBeans is its speed. Since most of my development is in Magento and WordPress platforms (and Magento itself comes with more than 7000 files), this can really slow down NetBeans. So I decided to look for another solutions, if any
Today I decided to download and try out the latest Zend Studio release, Zend Studio for Eclipse Professional Edition.
You can download the trial version of Zend Studio for Eclipse from http://www.zend.com/en/products/studio/. Zend Studio is not free, it’s a commercial platform, and although the price might seem high at first, ask yourself what made you even look for Zend Studio as a development IDE solution—and how much time are you wasting right now?
I make my living with PHP and my everyday job evolves around Magento (which is based on Zend Framework platform). My question is: If buying $999 for Zend Studio can make my life a lot easier and speed up my development by some percent, wouldn’t it be worth the investment? My answer is: Yes, it would. Time saved means more time for new projects.
Enough blabbering, let’s checkout some Zend Studio features.
After the installation, you are presented with the following screen:
At this point, most of us would jump to File > New section. However, let’s pause here and get a detailed overview of what this screen offers. Notice the Browse the Cheat Sheets section. If you click on it, you get a window like the one below:
Now, if you click on the Creating a PHPDoc, you get something like the image below:
This might not seem like much to an experienced developer, but it sure helps.
If you go back to the Welcome page of Zend Studio, you will notice a few more useful things, like Create a Zend Framework Example Project and Watch a demo on Event debugging. I give them 5 out of 5 for this getting started section.
Then, on the right side of the screen there are few intro-level tutorials on essential development topics like Code Assist, Debugging, Profiler, Refactoring, PHPUnit testing, CVS, and SVN. (Unfortunately, most “wannabe” developers skip these topics, even though they are essential to healthy application life cycle.)
Now let’s create our first project. As you know, one of the most annoying things is the time required to manually configure when setting up Zend Framework project. Some of you might say, “So what, I only have to do it once and paste it every time after.” Well, this is exactly the scenario I dislike with PHP-related development, everyone seems to have his or her own solution to reinventing the wheel. I love standards; I adore them. This is why I like solutions like this and why I like frameworks—they make you stick to some standard.
Upon creating our new project via File > New > Zend Framework Project, we get a working Zend app that echoes simple Hello, world! to browser. Actually, we still need to copy/paste Zend Framework library to the /library directory and we are done. This is simply beautiful; I love it.
Below is the example of the bootsrap.php file it generated for us:
And below is a screenshot of auto-generated IndexController.php file with Code Assistant in action:
I do have some minor criticisms on Code Assistant behavior that I noticed. For example, if you were to write into your controller file something like
$this->view->assign(“username”, “branko.ajzele”);
and now if in your view file you try to write something like
$this->use…
then you won’t get auto complete from Code Assistant. It does not seem to recognize this kind of connection.
Another problem with Code Assistant is that it behaves differently in .phtml files and html files when writing html code. It does not work very well in .phtml files in this case. However, despite these problems, Zend Studio is still a powerful and extremely useful developer tool.
One of the first features I looked for in Zend Studio was its ability to manage database connections. There is a nice little icon on the main toolbar called Create new SQL connection (Oracle, Postgre, MySQL, MS SQL, Derby, IBM DB2, their variations and addition of new ones).
Combined with a nice little feature called Scrapbook, we get simple but effective developer to database relation solutions. It’s so easy you may never look back at other solutions again!
Below is the screenshot of Zend Studio’s Database Development Perspective view:
This brings me to the next topic, Perspective view. This too might not look as cool or seem necessary, but I love it. In my opinion it’s a step in right direction towards smart applications. Zend Studio Eclipse uses this concept of Perspective views (the way of rearranging the application interface based on the technology you’re working on) from PHP to SQL.
Another cool feature not many PHP IDE’s have is a PHPDoc generator. Below is a screenshot of generated documentation on my empty application. I only wrote one empty method inside IndexController.php file and assigned it some description. All you need to do is go to Project > Generate PHPDoc and that’s it. Your documentation will be built in a matter of seconds.
Remote Systems monitor is another cool and extremely useful feature. Below are two screenshots for you to see it:
Everything mentioned so far is just a fraction of what Zend Studio Eclipse is made of and what it can enable you to do.
I recommend you try it out.
Great Article! I always look forward to anything that will help me with Magento. I have been using Coda, but started trying out Netbeans after I heard about it here a couple months ago. Do you have any specific configuration information to use for Magento to get the most out of Zend Studio?
Thanks!
Hi Tony.
Nice to hear you like the article. I still havent manage to play with Magento in it. Will do these days. I figured it might not be a good idea to switch existing projects I’ve been working in NetBeans to Zend. No time …
I used to use Zend Studio exclusively for all my development work. But I can’t justify the price that Zend has set for this latest version. Considering it is built on Eclipse which is free and you can get all the plugins you need to set yourself up with a fantastic IDE.
But even easier, is to simply download Aptana and install php support (at a click of a button). Works fantastically.
Adam
I believe you have the price wrong for Zend Studio for Eclipse. It’s $399, so you might want to change what you’ve listed in the article. Aside from that, great article. Thanks for the deep dive into some time-saving features.
I’ve been using Zend Studio for two years now. I absolutely love it. I have converted two of my developer friends to it and and working on converting many others. You could call me a Zend Studio evangelist. If anyone happens to see this post today, Zend has a $100 off coupon code for Zend Studio that expires today: “survey-100-studio”
Though I love the features, the application is unusable. What good are features if you can’t use them?
The app feels like a pre-alpha build. I’m glad the trial version expired , cause I kept on trying to use ZSE 6.1 on Mac AND Windows, but it would just not let me.
I would pay $0,- for an alpha build, MAX!
@Erik, ehy evangelist Zend guy! Can u tell me how to set up a Magento project in Zend Studio???